ios - 在 Swift 中从自定义 UITableViewCell 访问 UITableView

标签 ios swift uitableview

我有一个自定义的可扩展 UITableViewCell。展开后,它会显示几个 UITextField。我想在 UITextField 的值更改后更新 UITableView 中的表数据。检测变化事件不是问题。

有没有一种简单的方法可以从 UITableViewCell 访问自定义 UITableView Controller ?在 cellForRowAtIndexPath 中创建单元格时是否应该创建引用?

谢谢!

最佳答案

我也有同样的需求。我想用

从自定义单元格重新加载 tableview
self.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/

相关文章:

ios - 如何将选定单元格的值传递给另一个 ViewController?

ios - 我想将 GoogleMaps 添加到我的 iOS 项目中,但我不想使用 CocoaPods。有什么办法可以实现吗?

ios - currentDrawable 不可预测的返回时间

ios - UITableViewCells 之间的间距

ios - 使用NSPredicate过滤以非字母字符开头的条目

ios - 多个自定义 UITableViewCell

iphone - Objective-C 初始化方法的正确语法

ios - 返回一个加密字符串以放置在表单变量中

ios - 错误域 = com.apple.healthkit = 3 "Workout Session is Not Current"错误?

ios - 属性字符串不适用于标签