How to know if a class is KVO complaint or not? I'm trying to add observer on Timer class property isValid
, but it's not working. Is Timer Class KVO complaint or not?
答案 0 :(得分:1)
通常,只有在文档告诉您属性时,才应假定属性符合KVO。 Timer isValid
属性的文档并没有告诉您这一点,因此您应该假设它不符合KVO。
但它并不需要。只有两件事可以将计时器isValid
从true
更改为false
:
计时器未重复且已解雇。
计时器正在重复,您告诉invalidate
。
无论哪种方式,你已经确切地知道发生了什么。在第一种情况下,您自己的计时器操作会运行。在第二种情况下,您自己的代码说invalidate()
。因此,没有必要观察任何事情。
如果您在其他地方有其他代码,对于安排定时器是否安全存在疑问,那么您可以先测试isValid
。