我在TableViewController
中注册Nib中的自定义单元格tableView.registerNib(UINib(nibName: "CustomCell", bundle: nil), forCellReuseIdentifier: "Cell")
但我的CustomCell有IBAction方法,需要访问tableView本身和fetchedResultsController。如何以干净的方式将这些参数传递给CustomCell?
将这些内容设置为:
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) {
return tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as UITableViewCell
}
对我来说似乎不太干净。?
答案 0 :(得分:2)
单元格真的不应该对表视图或fetchedResultsController有所了解。一种方法是在cellForRowAtIndexPath中添加您的操作,并使控制器成为目标。
另一种选择是在自定义单元类中使用操作方法,并让它们调用您在单元类中创建的委托协议方法。让控制器将自己设置为cellForRowAtIndexPath中的委托。
答案 1 :(得分:0)
您可以选择负责自定义单元格IBAction示例的类
IBAction Func enterKeyButton (sender: AnyObject) {
println(sender)
}
并在tableview中实现该方法,这就是原因medot Custom Cell
的方式func tableView (tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) {
let cell = tableView.dequeueReusableCellWithIdentifier ("Cell", forIndexPath: indexPath) as UITableViewCell
cell.enterKeyButton ("hello")
return cell
}
我希望我能帮到你!