5
會在運行時改變+(NSSet*) keyPathsForValuesAffecting<Key>
的輸出會影響相關的鍵嗎?換句話說,這種方法多久召喚一次?是否可以在運行時在objective-c中註冊與KVO相關的鍵?
會在運行時改變+(NSSet*) keyPathsForValuesAffecting<Key>
的輸出會影響相關的鍵嗎?換句話說,這種方法多久召喚一次?是否可以在運行時在objective-c中註冊與KVO相關的鍵?
the docs給我表明keyPathsForValuesAffecting<Key>
只有在建立觀察時才被調用。
當用於鍵觀察者與接收類的實例註冊,鍵 - 值觀察本身自動觀察全部爲相同的實例的關鍵路徑,併發送變更通知的鍵觀察者時任何這些關鍵路徑的值都會改變。
在很多情況下,您可能會使用KVO本身來通知您的觀察員keyPathsForValuesAffecting<Key>
已更改。手動willChangeValueForKey
和didChangeValueForKey
某些自定義密鑰的通知將是處理動態更改密鑰的一種方式。
只是打敗了我。 –