Swift:利用protocol偵測UITableViewCell上的UIButton點擊事件

王彤
Tung's iOS
Published in
3 min readFeb 28, 2019

首先簡單解釋一下protocol

protocol裡包含許多方法及屬性,但僅僅是宣告而已,並不實作。
問:誰來實作呢?
答:遵從protocol的對象(class, struct, enum......)去實作。

利用protocol處理UIButton的點擊事件的概念就是——「cell本身不處理點擊事件,而是交給ViewController處理。」

第一步:寫好protocol

重點:
在didTapMyBtn方法中引進了一個sender參數,目的是為了方便取得MyTableViewCell的屬性

第二步:於cell中宣告delegate變數

第三步:在Action方法中執行protocol的方法

重點:
此時protocol的方法還未實作,要由接下來指定服從protocol的ViewController來實作

第四步:於cellForRow中,產生cell後將delegate指定給ViewController

第五步:實作protocol裡的方法

後記:

利用protocol的方法相比於使用tag可讀性會比較好,而且還能處理同一個cell裡面有好幾個UIButton的狀況,所以比較推薦protocol的做法。

To be continued……

--

--