博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UITableView刷新数据reLoadData
阅读量:5934 次
发布时间:2019-06-19

本文共 1357 字,大约阅读时间需要 4 分钟。

要实现的功能是这样的:在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,如需转载请自行联系原作者

你可能感兴趣的文章
【堆】【kd-tree】bzoj2626 JZPFAR
查看>>
【计算几何】【bitset】Gym - 101412G - Let There Be Light
查看>>
struts2-spring-plugin-2.0.14.jar中的SessionContextAutowiringInterceptor
查看>>
构造函数
查看>>
部署k8s集群监控Heapster
查看>>
webservice与WCF
查看>>
20款精美的精品电子商务设计~值得一看哦
查看>>
阿里云云服务器上安装Apache
查看>>
试用阿里云邮件推送服务
查看>>
Extra Credits: Easy Games 17
查看>>
Linux组件封装(八)——Socket的封装
查看>>
展开字符串
查看>>
关于选择器(很早之前写的)
查看>>
android 下linux的I2C 读写函数实例
查看>>
CLI组成
查看>>
maven - Eclipse构建maven项目
查看>>
关于VS2008/2010中SORT,stable_sort的比较函数中strict weak ordering
查看>>
局部内部类
查看>>
apache 开启网页压缩功能
查看>>
[Android四大组件之一]——Activity
查看>>