我需要tableview单元格按钮名称在按钮动作
代码:请指引我
class NewSearchResultCell: UITableViewCell {
@IBOutlet weak var iButton: UIButton!
var actionBlock: (() -> Void)? = nil
}
class NewSearchViewController: UIViewController {
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "NewSearchResultCell", for: indexPath) as! NewSearchResultCell
cell.actionBlock = {
cell.iButton.displayTooltip("Job should be completed within these dates!")
}
return cell
}
@IBAction func cellBtn(_ sender: UIButton) {
actionBlock?()
}
}
错误:
在作用域中找不到'actionBlock'
cellBtn
动作必须在UITableViewCell
子类中,您可以将闭包中的任何内容传递给调用者。
将引用传递给单元格,因为如果插入或删除单元格,它可能会发生变化
class NewSearchResultCell: UITableViewCell {
@IBOutlet weak var iButton: UIButton!
var actionBlock: ((NewSearchResultCell) -> Void)?
@IBAction func cellBtn(_ sender: UIButton) {
actionBlock?(self)
}
}
在控制器句柄中传入单元格
cell.actionBlock = { actualCell in
actualCell.iButton.displayTooltip("Job should be completed within these dates!")
}