并不是KVO注冊(cè)監(jiān)聽了就能監(jiān)聽到值得改變挣磨,KVO是在KVC的基礎(chǔ)上,所以可以這樣理解,通過下列方法:
1.setter
2.setValue:forKey
才可以讓我們監(jiān)聽得到值得改變,若不是以上兩種方法的話是監(jiān)聽不到值得改變的陌凳,在此我舉一個(gè)典型的例子:
UITextField.text監(jiān)聽,我們用KVO是無法監(jiān)聽到值得改變的,不信的你們可以去試試内舟,但是我們通過UITextField.text = @"xxx";的時(shí)候是能夠執(zhí)行回調(diào)方法的冯遂。
這里介紹兩個(gè)監(jiān)聽UITextField的方法:
1.addTarget,因?yàn)閁ITextField是繼承UIControl的谒获,所以我們可以通過addTarget方法的valueChanged類型來監(jiān)聽文本值得改變
2.通知