我將如何去發送一個reloadData消息到tableView從一個自定義的tableViewCell?發送自定義tableview單元格重新加載數據?
回答
最簡單的實現方法是使用Delegates。
在CustomTableCell.h定義的協議是這樣的:
@protocol CustomTableCellDelegate <NSObject>
@required
- (void)reloadMyTable;
@end
下一步是提供一個委託VAR:
@interface CustomTableCell : UITableViewCell {
id<CustomTableCellDelegate> delegate;
}
@property (assign) id<CustomTableCellDelegate> delegate;
製作舒爾你合成的委託變量在CustomTableCell .M。
現在你有一個委託定義。有三個剩下的步驟:
當你創建你的,你必須設置該小區委託像
cell.delegate = self;
製作舒爾你TableViewController實現您CustomTableCellDelegate。如果你這樣做,你將被強制執行 - (無效)reloadMyTable在TableViewController:
- (void)reloadMyTable {
[self.tableView reloadData];
}
最後一步是從您的CustomTableCell調用此方法是這樣的:
if (self.delegate != NULL && [self.delegate respondsToSelector:@selector(reloadMyTable)]) {
[delegate reloadMyTable];
}
更多代表團here。
簡而言之:你定義了一個協議在你的CustomTableViewCell中,由TableViewController實現。如果你發送一個方法消息給你的委託,這個消息將被髮送到你的TableViewController。
它是創建通知的最佳方式。在你的tableView中,你必須創建它。這很容易,像這樣:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(reloadTableView:)
name:@"reloadTable"
object:nil];
然後,你必須創建方法:
- (void)reloadTableView:(NSNotification *)notif {
[self.yourTableName reloadData];
}
,不要忘了刪除通知:
-(void)dealloc {
[[NSNotificationCenter defaultCenter] removeObserver:self name:@"reloadTable" object:nil];
}
and in yo烏爾定製tableViewCell當你想重裝表,則需要:
[[NSNotificationCenter defaultCenter] postNotificationName:@"reloadTable"
object:nil];
比代表解決方案更優雅,代碼更少。 +1 – user623396 2014-07-22 12:45:36
我不會說這是最好的方式,更喜歡自己的授權。 – tagy22 2016-04-29 12:57:26
- 1. IOS:用自定義tableview單元重新加載tableview
- 2. 自定義tableview單元格
- 3. TableView自定義單元格
- 4. 滾動時自定義單元格重新加載問題UITableView
- 5. TableView自定義單元格UIButton動作
- 6. TableView和自定義單元格
- 7. 如何從自定義tableview單元格獲取數據
- 8. 自定義TableView發送參數inSwift
- 9. UITableViewCell使用IB加載數據的自定義單元格
- 10. 刪除單元格後,swift tableview無法重新加載
- 11. 如何同時更新每個自定義tableview單元格數據?
- 12. 單元格重疊自定義TableView標題
- 13. 重複使用tableview自定義單元格中的問題
- 14. Tableview不重新加載數據
- 15. UICollectionView重新加載數據不會更新單元格
- 16. UICollectionView自定義單元沒有重新加載
- 17. xCode4試圖添加自定義圖標到tableView單元格
- 18. 如何將這些自定義單元格添加到TableView?
- 19. Cache tableView單元格數據
- 20. 表格重新加載頁面無需發送提交數據
- 21. 如何在UICollectionView中強制重新加載自定義單元格?
- 22. 每個tableview組中的單元格的自定義數量
- 23. iOS UITableView只滾動時重新加載單元格數據
- 24. 重新加載UITableview數據在單元格視圖
- 25. 表視圖重新加載單元格
- 26. 查看錶格視圖(自定義tableview單元格)
- 27. JavaFX TableView自定義單元格渲染分割菜單按鈕
- 28. 重疊的自定義單元格
- 29. 動態添加新的tableview單元格
- 30. 動態加載表格中的自定義表格單元
到目前爲止,我不是明確的唯一的事情就是你說:請確保您[R tableviewcontroller實現您的自定義TableCell的委託。 – Brodie 2010-08-27 15:32:19
無視我知道了,謝謝 – Brodie 2010-08-27 16:05:30
@ audience。我可以在哪裏放置最後一步的代碼?我的意思是應該在哪種方法中調用 – 2013-08-08 06:28:55