Bro*_*die 5 iphone uitableview reloaddata
我如何从自定义tableViewCell向tableView发送reloadData消息?
aud*_*nce 10
实现它的最简单方法是使用Delegates.
在CustomTableCell.h中定义一个协议,如下所示:
@protocol CustomTableCellDelegate <NSObject>
@required
- (void)reloadMyTable;
@end
Run Code Online (Sandbox Code Playgroud)
下一步是提供委托var:
@interface CustomTableCell : UITableViewCell {
id<CustomTableCellDelegate> delegate;
}
@property (assign) id<CustomTableCellDelegate> delegate;
Run Code Online (Sandbox Code Playgroud)
你可以在CustomTableCell.m中合成你的委托变量.
现在您有一个委派定义.剩下的三个步骤:
创建单元格时,必须为此单元格设置委托
cell.delegate = self;
Run Code Online (Sandbox Code Playgroud)
使Shure你的TableViewController实现你的CustomTableCellDelegate.如果你这样做,你将被迫在TableViewController中实现 - (void)reloadMyTable:
- (void)reloadMyTable {
[self.tableView reloadData];
}
Run Code Online (Sandbox Code Playgroud)
最后一步是从CustomTableCell调用此方法,如下所示:
if (self.delegate != NULL && [self.delegate respondsToSelector:@selector(reloadMyTable)]) {
[delegate reloadMyTable];
}
Run Code Online (Sandbox Code Playgroud)
更多关于代表团在这里.
简而言之:您在CustomTableViewCell中定义一个协议,该协议由TableViewController实现.如果向方法发送方法消息,则此消息将发送到TableViewController.
| 归档时间: |
|
| 查看次数: |
3476 次 |
| 最近记录: |