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

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

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

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

【问题讨论】:

    标签: swift model-view-controller swift3 view viewcontroller


    【解决方案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

    【讨论】:

    • 非常感谢您非常明确的回答。我已经成功地在我的项目中实现了这一点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多