2014-09-03 79 views
1

我想對UIView的屬性聲明使用KVO,但我不知道它是否符合規範。例如 以「隱藏」屬性爲例。如何知道某個類是否符合某個特定的KVO?

我去了UIView類的頭文件,並找不到指示,我也去了這個屬性的文檔。有人談到「檢查引用符合性」他談論的是什麼引用?

回答

2

這聽起來像他們指(而隱約)這裏的KVC符合性文件:

https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/KeyValueCoding/Articles/Compliant.html#//apple_ref/doc/uid/20002172

具體來說,你需要看如果類響應valueForKey:setValue:forKey:對於給定的關鍵。這份文件對於您應該如何檢查合規性非常有用。我的第一個想法是將你的代碼包裝在一個try/catch塊中,並捕獲異常,但這可能不會工作,因爲通常如何拋出異常。

一般假設是UIKit中的大多數對象都是而不是 KVO兼容,如果您需要它們,您可以繼承並實現它。你可以在這裏看到一個非常類似的問題/重複,從戴夫德龍,蘋果框架福音傳遞的答案:iOS: How do I know if a property is KVO-compliant?

+0

是的,我已經讀過這個問題,但我正在尋找一種方法來告訴如果屬性是KVC而不是通過代碼嘗試它,並看看它是否有效。我懷疑有一種方法可以更快地檢測到它。 – LolaRun 2014-09-03 21:38:48

相關問題