【轉】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,424評論 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