【发布时间】:2018-02-03 11:13:35
【问题描述】:
如何知道一个类是否是 KVO 投诉?我正在尝试在 Timer 类属性isValid 上添加观察者,但它不起作用。 Timer Class KVO 投诉与否?
【问题讨论】:
标签: xcode swift3 timer key-value-observing
如何知道一个类是否是 KVO 投诉?我正在尝试在 Timer 类属性isValid 上添加观察者,但它不起作用。 Timer Class KVO 投诉与否?
【问题讨论】:
标签: xcode swift3 timer key-value-observing
一般来说,只有当文档告诉您属性符合 KVO 时,您才应该假定它是符合 KVO 的。 Timer isValid 属性的文档没有告诉您这一点,因此您应该假设它不符合 KVO。
但没必要。只有两件事可以将计时器的isValid 从true 更改为false:
计时器不重复且已触发。
计时器正在重复,你告诉invalidate。
无论哪种方式,您都已经确切地知道发生了什么。在第一种情况下,您自己的计时器操作运行。在第二种情况下,您自己的代码是invalidate()。因此,无需观察任何东西。
如果您在其他地方有其他代码对安排计时器是否安全有疑问,那么您可以先测试isValid。
【讨论】: