你设计上有问题,如果tableview的数据源是来自coredata的,那么你在coredata中数据有变动只要[tableview reloaddata]一下就可以了遵守mvc架构,模型要建好,不要在v上做insert等动作
解决方案 »
- iphone多视图开发的问题
- 小白请教Reachability的用法
- 我的xcode只有4.3的sdk,怎么办啊?
- Sun决定为iPhone开发Java虚拟机 6月份发布
- 用VMWARE装了MAC OS X 10.9后怎么才能连上网呢?主机是有线网。。。求解
- 为什么在bundle中找不到sqlite数据库
- 一个项目引用另外一个项目的AppDelegate
- 有没有这样的图片控件?
- iOS 使用Socket 连接网络打印机
- 隔页跳转问题
- 知道变量名求变量类型,,,object-c 有没有提供什么函数实现。如 - (Class)class;之类的,,
- unity 3d 调用ios中的方法的问题 xcode 5 ios7 unity4.2.1(mac)
好吧,确实如你所说,把那个删除掉fetchedResultsController 的 didChangeObject就行了。如果我仅仅修改了一条数据也要刷新整个列表。
但是我原本的初衷是想提高运行效率,所以再请问下,我内存数据已修改,并且分组。
我该如何只把那条数据插入到分组中呢?
uitableview只会通过代理方法获取当前你作为数据源的数组的总数,但并不会全部去取出来显示,他会根据你设计的tableview的高度和宽度计算出当前的需要显示的记录数,一般一屏幕顶天也就显示个十几二十条,之后才会去取这十几二十条的数据来显示在cell中,所以他每次都只获取可见cell的数据(移动设备就可怜的那么点内存,如果数据源有上万条数据,每条都画出cell的话内存早就爆了),而且还有很高效的重用机制.当然还有一个方法也可以用,那就是beginupdate和endupdate,个人感觉这个和relaoddata并没有太大的区别