簡體   English   中英

如何將數據從 uitableviewcontroller 發送到 uitableviewcell

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM