我将如何去发送一个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