【转】KVO方式监听数组的变化动态刷新tableView

最近使用MVVM在写一个Demo,习惯MVVM的思想后,写一个tableView的时候,我想要自动在数据变动的时候刷新,所以尝试监听一个数组,但是不起作用,后面查了之后,发现 iOS 默认不支持对数组的KVO,因为普通方式监听的对象的地址的变化,而数组地址不变,而是里面的值发生了改变,所以就找到了这篇文章,大家可以对原文有兴趣的,可以去看看。

我总结了一下如何监听数组的方法,其实很简单,其他的步骤都一样(顺带一提我使用的是FBKVOController),就只有在添加和删除数据元素的时候,有些技巧:

 [[_model mutableArrayValueForKey:@"modelArray"] addObject:obj];
 [[_model mutableArrayValueForKey:@"modelArray"] removeObject:obj];

用这种方式,就能够监听到数组内容的变化,至于原因嘛,可能是这样的取值方式是使用KVC,所以才能触发KVO吧,原文作者说要说明,可是貌似没看到说明啊。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,455评论 25 708
  • 作者:wangzz原文地址:http://blog.csdn.net/wzzvictory/article/det...
    反调唱唱阅读 1,124评论 0 5
  • 上半年有段时间做了一个项目,项目中聊天界面用到了音频播放,涉及到进度条,当时做android时候处理的不太好,由于...
    DaZenD阅读 3,045评论 0 26
  • 没有想到可以坚持连续每天都能写八百字的东西,当时加入写作营的想法是为了挑战自己能写多少天。 不提文字表达能力怎...
    风铃杂记阅读 228评论 0 1
  • 别人的节奏不一定适合你的阅读,静下心来慢慢体会作者的用意
    爺凌丶贝勒阅读 347评论 0 0