2017-11-11 215 views
0

我有一個UITableViewUITableViewCellUICollectionViewCell它創建於ViewController從TableViewCell發送數據到控制器MVC-原理

對於這兩個,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中

+0

非常感謝您提供非常明確的答案。我已經成功地將其實施到我的項目中。 – jeanggi90