UItableview刷新数据 本人在写一个uitableview,点击一个cell可以push进
UItableview刷新数据本人在写一个uitableview,点击一个cell可以push进入详细界面。这个界面可以更新datasource。所以,我想在点击push...
UItableview刷新数据
本人在写一个uitableview,点击一个cell可以push进入详细界面。这个界面可以更新datasource。所以,我想在点击push自带的返回按钮时更新tableview显示的数据。怎么做?谢谢 展开
本人在写一个uitableview,点击一个cell可以push进入详细界面。这个界面可以更新datasource。所以,我想在点击push自带的返回按钮时更新tableview显示的数据。怎么做?谢谢 展开
3个回答
展开全部
1、比较简单的是在tableview中
- (void)viewWillAppear:(BOOL)animated {
[tableViewName reloadData];
}缺点是第一次进来也会刷新一下
2、发通知nsnoticationcenter 不过我不太喜欢通知,显得过于混乱
3、详情页添加delegate,当详情页pop回来的时候触发。
- (void)viewWillAppear:(BOOL)animated {
[tableViewName reloadData];
}缺点是第一次进来也会刷新一下
2、发通知nsnoticationcenter 不过我不太喜欢通知,显得过于混乱
3、详情页添加delegate,当详情页pop回来的时候触发。
追问
delegate具体怎么实现呢?请赐教
追答
在详情页的.h文件中,@interface之前
@protocol RefreshDelegate
-(void)tableViewReloadData;
@end
在外部变量那添加
@property (nonamatic,retain) id delegate;
.m文件中:
然后在你pop回去的时候,一般是
-(void)viewWillDisappear:(bool)animated{
if([self.delegate responseToSelector:@selector(tableViewReloadData)])
{
[self.delegate tableViewReloadData];
}
}
最后在tableview的类中实现该委托就可以了
.h:
TableViewController ;
.m:
在你触发push页面那个地方,把详情页的delgate赋给self
detailViewController.delegate = self;
实现该委托的具体方法
-(void)tableViewReloadData{
[tableViewName reloadData];
}
mac在公司,代码全部手敲,难免有拼写、语法错误 如果有问题继续讨论。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询