将数据从 UITableViewCell 发送到 Controller MVC-Principal

Posted

技术标签:

【中文标题】将数据从 UITableViewCell 发送到 Controller MVC-Principal【英文标题】:Send data from TableViewCell to Controller MVC-Principle 【发布时间】:2017-11-11 11:37:58 【问题描述】:

我在UICollectionViewCell 中有一个UITableViewUITableViewCell,它是在ViewController 中创建的。

对于UITableViewUITableViewCell,我有一个单独的子类文件。在UITableViewCell-Subclass 中,我有一个值更改委托操作链接到其中的TextField。现在,每当 Textfield 的此值发生更改(调用该函数)时,我都需要将该值传递给我的 ViewController 进行处理。

关于 MVC 原理是如何做到的?

【问题讨论】:

【参考方案1】:

您可以使用块或委托或将值传递回 ViewController。

UITableViewCell 子类中声明一个委托

protocol TableViewCellDelegate 
  func new(value: Any) // your data type here


class MySubclass: UITableViewCell 
  weak var delegate: TableViewCellDelegate?

现在在ViewController 中连接到这个委托。您可以将其传递给 UICollectionViewCell 子类,然后从那里传递给 UITableViewCell

UITextField 的值更改委托中调用你的方法

   self.delegate?.new(value: "NewTextHere!")

这样数据可以传回ViewController

【讨论】:

非常感谢您非常明确的回答。我已经成功地在我的项目中实现了这一点。

以上是关于将数据从 UITableViewCell 发送到 Controller MVC-Principal的主要内容,如果未能解决你的问题,请参考以下文章

使用 RxSwift 从 UITableViewCell 发送回调到 UIViewController

如何将数据从 UITableViewCell 传输到另一个 UIViewController?

从 UITableViewCell 呈现 UIViewController:addChildViewController 无法识别的选择器发送到实例

将数据从 UITableViewCell 可可触摸类传输到 UIViewController 类

将数据从 UITableViewCell 传递到 ViewController

Swift - 如何将数据从 UITableViewCell 类传递到 UIViewController