![](/img/trans.png)
[英]Send message to UITableViewCell from UITableViewController
[英]how to send data from uitableviewcontroller to uitableviewcell
我有以下情況
TableViewController (ExploreViewController) 具有自定義單元格 - CategoryTableViewCell。 每個單元格都有一個帶有 UICollectionViewCells 的集合視圖。
我希望 CategoryTableViewCell 在顯示集合視圖單元格時聯系 ExploreViewController 以確定它需要顯示哪些數據。 數據取決於表格視圖單元格的索引路徑行和集合視圖單元格的索引。
我怎樣才能使用委托來實現這一點?
我不會那樣做的。 我會在表格視圖控制器的cellForRow(at:)
方法中將每個單元格需要的數據作為 model object 傳遞給它。 如果單元格的數據發生更改,請將新的 model object 傳遞給它。 然后單元格可以使用該 model 數據來響應來自其子集合視圖的數據源調用。
如果您決定使用委托模式或類似模式:
讓我們稱它為數據源而不是委托。 設計一個 CategoryTableViewCellDataSource 協議。 創建 CategoryTableViewCell 時,將表視圖 controller 設置為其數據源。
讓單元格詢問它的數據源以顯示數據。 委托協議將使用單元的 position 來確定它的索引路徑,然后從 model 獲取數據並返回。 (你會找到單元格內容視圖的中點,將該點轉換為表格視圖的坐標系,然后使用表格視圖的indexPathForRow(at:)
方法找出索引路徑。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.