将数据从 UITableViewCell 发送到 Controller MVC-Principal
Posted
技术标签:
【中文标题】将数据从 UITableViewCell 发送到 Controller MVC-Principal【英文标题】:Send data from TableViewCell to Controller MVC-Principle 【发布时间】:2017-11-11 11:37:58 【问题描述】:我在UICollectionViewCell
中有一个UITableView
和UITableViewCell
,它是在ViewController
中创建的。
对于UITableView
和UITableViewCell
,我有一个单独的子类文件。在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 类