iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 14
0

在開發 iOS App 時,有時候會遇到一種情況:

需要在 tableview 裡面的 cell 上面加上一個 Button ,讓你在按下 Button 後去執行一些程式碼

這時候就是需要,去知道現在點到的是哪一個 tableview Cell,
遇到這種情形可以使用 Protocol 和 delegate 來完成

1.建立一個 protocol:

 protocol DelegateProtocol {
    func touchDeleteButton(_ sender: TableViewCell)
 }
  1. 在你 cell 檔案裡面輸入以下程式碼:
var delegate: DelegateProtcol?

3.然後在tableView 的 cellForRowAt 這個一個 method 添加:

cell.delegate = self 
  1. 讓你要實作的 tableViewController 遵造 DelegateProtocol
  2. 並在 func touchDeleteButton(_ sender: TableViewCell) 裡面實作:
guard let indexPath = tableView.index(for: sender) esle {return}
  1. 並在你 cell 檔案裡面的 Button Action 中實作:
Delegate?.touchDeleteButton(self)

這樣就大功告成了,你終於可以找到按鈕了嗚嗚嗚


上一篇
LLDB 簡介
下一篇
照片 != 照騙
系列文
iOS 開發:燃燒吧! 從初心者到超級初心者的轉職之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言