从TableViewCell发送数据到控制器MVC-原理

从TableViewCell发送数据到控制器MVC-原理

问题描述:

我有一个UITableViewUITableViewCellUICollectionViewCell它创建于ViewController从TableViewCell发送数据到控制器MVC-原理

对于这两个,UITableViewUITableViewCell我有一个单独的子类文件。在UITableViewCell -Subclass中,我将一个值更改为与其中的TextField链接的代理操作。现在,无论Textfield的这个值如何变化(函数被调用),我都需要将该值传递给我的处理ViewController

关于MVC原理是如何做的?

您可以使用块或委托或将值传回给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中

+0

非常感谢您提供非常明确的答案。我已经成功地将其实施到我的项目中。 – jeanggi90