UITableView刷新数据reLoadData

简介:

要实现的功能是这样的:在rootView中一个TableView,刚加载程序的时候是空白的。当按下添加按钮之后,在下个页面设置好值,并要求回传给rootView,并在视图翻转完成后就刷新好rootView的TableView表。

解答:可以用以下知识完成:(1)页面间消息机制NSNotificationCenter;(2)少数据量的时候,用NSUserDefaults或者共同属性实现值的传递;大数据量的时候,就用delegate来实现存取。

(3)用reLoadData来实现刷新表格数据。代码如下:

复制代码
1、在rootView中建立一个消息中心,用来监控下个页面是否传消息过来。一接到消息就调用reRoadTableView函数
[[NSNotificationCenter defaultCenter]addObserver:self
selector:@selector(reRoadTableView)
name:@"saveSetting"//消息名
object:nil];//注意是nil
在下个页面建立响应的消息post点,可以放在确定按钮里面:
[[NSNotificationCenter defaultCenter] postNotificationName:@"saveSetting" object:self];//发送消息给root


2、写reRoadTableView函数,关键语句是[timerTab reloadData]
- (void) reRoadTableView
{
// self.finalSettings = [[NSUserDefaults standardUserDefaults] valueForKey:@"settings"]; //接收数组,第二种方法

NSLog(@"你看到我就说明消息机制起作用了!");//消息机制工作正常
NSLog(@"我收到的Tag是:%@",setTag);//没收到

self.setDate = [NSDate date];//retainCount仍旧为1
self.setTag = @"吃饭时间到!";

NSDateFormatter *format = [[NSDateFormatter alloc]init];
[format setDateFormat:@"MM-dd HH:mm"];
self.strDate = [format stringFromDate:setDate];//转化为NSString
[format release];

[timerTab reloadData];
}
其实reLoadData方法被调用之后,系统会重新执行一遍TableViewDelegate的相关函数,最主要的cellFor***方法,单元格的设置信息会被重新执行一遍。
复制代码

本文转自编程小翁博客园博客,原文链接:http://www.cnblogs.com/wengzilin/archive/2012/03/16/2400478.html,如需转载请自行联系原作者

相关文章
|
2月前
|
开发者 iOS开发
介绍 UITableView 和 UICollectionView,它们的区别是什么?
介绍 UITableView 和 UICollectionView,它们的区别是什么?
91 0
UIRefreshControl代码刷新
UIRefreshControl代码刷新
58 0
UIcollectionViewCell(UItableviewcell)长按删除操作
功能简单,陷阱不少: 主要涉及两个功能: 1、长按手势:UILongPressGestureRecognizer 2、cell自带的删除操作:deleteItemsAtIndexPaths 首先为cell添加长按手势: UILongPressGestureRecognizer* longgs=[[UILongPressGestureRecognizer all
1482 0
UITableView的创建
UITableView的创建
81 0
解决使用tableview的reloadSections刷新之后,sectionFooter有时会消失
//CATransaction解决刷新之后sectionFooter消失的问题 [CATransaction begin]; [CATransaction setCompletionBlock:^{ [self.
1438 0