我有一个自定义的可扩展 UITableViewCell。展开后,它会显示几个 UITextField。我想在 UITextField 的值更改后更新 UITableView 中的表数据。检测变化事件不是问题。
有没有一种简单的方法可以从 UITableViewCell 访问自定义 UITableView Controller ?在 cellForRowAtIndexPath 中创建单元格时是否应该创建引用?
谢谢!
最佳答案
我也有同样的需求。我想用
从自定义单元格重新加载 tableviewself.tableView.reloadData()
其中 self 指的是 UITableViewController。
我发现最简单的方法是使用委托(delegate)模式。
class MyTableVC:MyProtocol{
...
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
...
(cell as! MyCell).delegate = self
...
}
func reloadData() {
self.tableView.reloadData()
}
....
}
我的自定义单元及其协议(protocol)声明
protocol MyProtocol : NSObjectProtocol {
func reloadData()
}
class MyCell: UITableViewCell{
...
weak var delegate: MyProtocol?
// When the job is done call reloadData()
self.delegate?.reloadData()
}
关于ios - 在 Swift 中从自定义 UITableViewCell 访问 UITableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32435331/