从TableViewCell发送数据到控制器MVC-原理
问题描述:
我有一个UITableView
与UITableViewCell
内UICollectionViewCell
它创建于ViewController
。从TableViewCell发送数据到控制器MVC-原理
对于这两个,UITableView
和UITableViewCell
我有一个单独的子类文件。在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中
非常感谢您提供非常明确的答案。我已经成功地将其实施到我的项目中。 – jeanggi90