一、介紹:
KVO是一種能動态監聽到屬性值的改變的方式,使用場景非常廣泛,這裡我隻講如何監聽控制器ViewController中數組的變化。
二、了解:
首先我們應該知道KVO是不能直接監聽控制器ViewController數組的變化的,需要将數組定義在模型中,然後控制器ViewController持有模型對象,通過該對象才能監聽。
三、步驟:
<1>在控制器ViewController類中定義一個模型類Model,并在該類中聲明一個可變的數組屬性modelArray并進行懶加載,其實它最終就是作為控制器ViewController的數組使用;




<2>在控制器ViewController中持有模型類Model的全局對象;


<3>用第2步建立的對象注冊監聽,監聽屬性就是數組modelArray,即modelArray作為keyPath值,注冊方法為;
<4>重寫監聽方法,監聽值的變化;


<5>移除監聽,最後釋放内記憶體時需要把監聽移除掉
<6>點選界面,模拟資料添加到數組中,添加方法必須是:- (NSMutableArray *)mutableArrayValueForKeyPath:(NSString *)keyPath;
四、示範截圖:(每點選一次,能夠監聽到數組個數增加1)
五、完整代碼如下:
.h檔案


.m檔案


程式猿神奇的手,每時每刻,這雙手都在改變着世界的互動方式!
本文轉自當天真遇到現實部落格園部落格,原文連結:http://www.cnblogs.com/XYQ-208910/p/6096186.html,如需轉載請自行聯系原作者