swift3.0 如何優雅的自定義tableViewcell,最簡單的自定義cell,閉包事件傳遞,程式碼封裝。
一:最近在自學swift3.0,故而把OC中最簡單自定義cell的方法,照搬到swift試試。 下面說下設計思想。
1.設計原理,提供介面。下面貼上控制器的程式碼
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { // 1.提供類方法建立cell,預設就是複用好的了 let cell = HCustomTableViewCell.customCell(tableView: tableView) // 2.設定資料(開發中傳遞model) cell.settingCellData(title: "當前是第:\(indexPath.row)行") // 3.事件傳遞(將封裝cell內部子控制元件的點選事件回撥控制器) cell.btnClickBlock = { () in print("點選了按鈕,當前是第:\(indexPath.row)行 ,且事件傳遞到了控制器內"); } // 4. 返回cell。 這基本上能適用100%任何一個你需要的自定義cell的型別 return cell }
怎麼樣,感覺如何。。從此控制器裡再沒有複用等太多亂七八槽的程式碼,簡單到幾句程式碼搞定
2.下面看下自定義cell裡面的兩個介面方法,一個類方法建立cell,一個是設定cell資料
// MARK:- public public class func customCell(tableView : UITableView)->HCustomTableViewCell{ let reuseIdentifier = "HCustomTableViewCell"; var cell = tableView.dequeueReusableCell(withIdentifier: reuseIdentifier) if (cell == nil) { cell = HCustomTableViewCell(style: .default, reuseIdentifier: reuseIdentifier) } return cell as! HCustomTableViewCell } public func settingCellData(title : String) { titleLabel.text = title }
3。其次也就是閉包的屬性的設定,以及呼叫了。
// 格式( (引數)-> (返回值) )
public var btnClickBlock:( ()->() )?
按鈕的點選事件
@objc private func actionBtnClick(){
btnClickBlock!()
}
額:寫到這裡就完了,,有木有很簡單。。。程式學習之路,從精簡每一句程式碼開始
如果你喜歡這篇文章,或者有任何疑問,可以掃描第一個二維碼,加樓主好友哦
也可以掃第二個二維碼,關注樓主個人微信公眾號。這裡有很多生活,職業,技術相關的文章哦。歡迎您的到來。
微訊號: 公眾號
相關推薦
swift3.0 如何優雅的自定義tableViewcell,最簡單的自定義cell,閉包事件傳遞,程式碼封裝。
一:最近在自學swift3.0,故而把OC中最簡單自定義cell的方法,照搬到swift試試。 下面說下設計思想。 1.設計原理,提供介面。下面貼上控制器的程式碼 func tableView(_ tableView: UITableView, cellForRow
史上最簡單教程:向第三方jar包注入自己的程式碼
注意:全文極短,適用於各種反編譯小白,程式小白,讀完僅需2分鐘! 我們經常使用第三方庫,但當我們遇到一些個性化需求,第三方庫沒有預留介面的時候,怎麼辦? 比如我們專案中用到友盟的社會化分享元件,但是友盟的分享對話方塊實在是醜!而他們又沒有留下足夠的介面支援我
6.0動態許可權申請,最簡單卻容易被小白忽視的相容方式
6.0剛出顯示,動態申請各種頭疼,之後出現各種封裝框架,但是本人一直使用的系統自帶的那一套,然後就是遇見各種品牌手機不同的申請過程。早期突然靈光一動想到的一種偷懶且相容性很高的方式,O(∩_∩)O哈哈~可能你只是沒想到,貼下程式碼,你想笑。 以申請短息
Android之——史上最簡單自定義開關按鈕的實現
很多時候,我們在很多無論是Android還是IOS的APP中都會遇到這樣的一種效果,有一個按鈕,我們點選一下,便會滑動一下,一會顯示“開”,一會顯示“關”,這便是開關按鈕了,比如:很多Android手機的設定功能裡,就有很多功能是用開關按鈕實現的,那麼這些開關按鈕時如何實
sealos2.0使用教程,最簡單kubernetesHA方案
概述 本文教你如何用一條命令構建k8s高可用叢集且不依賴haproxy和keepalived,也無需ansible。通過核心ipvs對apiserver進行負載均衡,並且帶apiserver健康檢測。 快速入門 sealos專案地址 準備條件 裝好docker並啟動docker 把離線安裝包 下載好拷貝到所
端口占用解決方案大全,最方便快速的解除端口被占用,強制解除占用端口
強制解除端口占用 切換mysql windows 綠色環境搭建 解除端口占用 強制解除端口占用可以使用我最新開發的新版本PHPWAMP8.8.8.8(截止目前最新版)PHPWAMP最新版支持自定義Mysql版本和自定義PHP版本,是目前唯一集成了VC運行庫的真正純綠色軟件。最新版PHPWA
神級Java程序員 開車教你基礎開發,最簡單 微型Java Web框架
padding ont 目的 簡單 json 破解 apach java學習 web 介紹: 它是Java中的開放源代碼(Apache License)微型Web框架,具有最小的依賴性和快速的學習曲線。 該項目的目標是在Java中創建一個易於使用和破解的微型Web框架。
在MVC4.0加Easyui1.5.3的最簡單方式
同時 技術 star 選項 cls 基本 data- art undle 新建MVC4.0 Web項目 當系統同時裝了VS2012和VS2013時,新建項目,在VisualC#模板點擊Web選項時,左邊會出現ASP.NET Web應用程序,這個Web程序是VS2013自帶的
thinkphp 5 自動生成模組,最簡單方式,一句程式碼
直接在專案入口檔案中加上最後一句就夠了 可以不依賴自動生成檔案,直接使用預設目錄生成模組,例如: // 定義應用目錄 define('APP_PATH', __DIR__ . '/../application/'); // 載入框架引
可以開啟組策略的情況下,最簡單的 本地組策略編輯器 重置
管理伺服器上面的組策略管理器,可能大家都會改,所以最好先匯出組策略配置:匯出列表,修改之前記住你改了什麼這是個好習慣。 進入正題:網上很多重置動作都很重,但是如果我能開啟組策略,這種情況下的重置就非常簡單了: 點選下圖所有設定: 點選狀態,兩次,直到已開啟的選
Java寫程式碼的區域,最簡單的概念
目錄 類 抽象類 介面 總結 類 特點: 能做實現類或子類,也能做超類。只能放屬性和方法。 public class Aoo{ //在這裡寫程式碼 private String name; //屬性 public v
PDF轉換為CAD,最簡單的方法是什麼?
PDF轉換為CAD,最簡單的方法是什麼?在工作中,我們經常會遇到要把CAD圖紙轉換成PDF的,但是也有的時候需要將PDF轉為CAD,那麼在CAD轉換器中PDF轉換CAD最簡單的方法是什麼?小夥伴們知道要怎麼來進行轉換嗎?那下面小編就使用迅捷CAD轉換器來教教大傢俱體操作步驟,想要了的朋友可以來看看。 第一步
PDF轉換為CAD,最簡單的方法是什麽?
roc 批量 到你 沒有 也有 vpd htm html ces PDF轉換為CAD,最簡單的方法是什麽?在工作中,我們經常會遇到要把CAD圖紙轉換成PDF的,但是也有的時候需要將PDF轉為CAD,那麽在CAD轉換器中PDF轉換CAD最簡單的方法是什麽?小夥伴們知道要怎麽來
解決插入U盤不顯示碟符問題,最有效,最簡單!!!
一、概述 u盤插入電腦突然間就不顯示碟符了,但是可以看到U盤已插入。上網找了搜了一下,有許多辦法解決。大約有重新安裝驅動、分配碟符、清理登錄檔等…但是這些都是假的,毫無作用,可能是個人的電腦不同,引發的原因也不同。找了許久終於找到了一個最有效,最簡單的辦法。 二、操作 1、快
遞迴實現乘方,最簡單型別揹包問題,組合
目錄 乘方問題 揹包問題 組合 乘方問題 import java.util.Scanner; /** * 遞迴實現乘方問題 * @author Administrator * */ public class Pow{ @Suppres
Spring框架的事務管理之基於AspectJ的註解方式(重點掌握,最簡單的方式)
1. 步驟一:恢復轉賬的開發環境(具體開發環境實現見:https://www.cnblogs.com/wyhluckdog/p/10137283.html)2. 步驟二:applicationContext的基本配置為: <?xml version="1.0" encoding="UTF-8"?
Word刪除空白頁,最簡單有效的【解決方法】
Word刪除空白頁,最簡單有效的【解決方法】 經常用Word的朋友也許會遇到這種情況,比如在
初學者編譯Linux核心,最簡單ko模組
#include <linux/init.h> #include <linux/kernel.h> #include <linux/module.h> MODULE_LICENSE("GPL"); static int __init helloko_init() {/* K
win10電腦啟用,最簡單的啟用方法
win10電腦啟用,最簡單的啟用方法 1)點選電腦左下角的“開始”圖示,然後我們找到“小娜”,並點選 1 2)然後在輸入欄中我們鍵入“CMD”,出現“命令提示符”的時候我們滑鼠右鍵“以管理員身份執行” 2 然後複製貼上以下命令: slmgr.vbs /upk 這時時候我們會發
CentOS6.5搭建MySQL主從複製,讀寫分離(冷月宮主親自整理,最簡單明瞭)
CentOS6.5搭建MySQL主從複製,讀寫分離MySQL主從複製的優點:1、 如果主伺服器出現問題, 可以快速切換到從伺服器提供的服務,保證高可用性2、 可以在從伺服器上執行查詢操作, 降低主伺服器的訪問壓力3、 可以在從伺服器上執行備份, 以避免備份期間影響主伺服器的服