【问题标题】:Is Timer class KVO complaint?定时器类 KVO 投诉吗?
【发布时间】:2018-02-03 11:13:35
【问题描述】:

如何知道一个类是否是 KVO 投诉?我正在尝试在 Timer 类属性isValid 上添加观察者,但它不起作用。 Timer Class KVO 投诉与否?

【问题讨论】:

    标签: xcode swift3 timer key-value-observing


    【解决方案1】:

    一般来说,只有当文档告诉您属性符合 KVO 时,您才应该假定它是符合 KVO 的。 Timer isValid 属性的文档没有告诉您这一点,因此您应该假设它符合 KVO。

    但没必要。只有两件事可以将计时器的isValidtrue 更改为false

    • 计时器不重复且已触发。

    • 计时器正在重复,你告诉invalidate

    无论哪种方式,您都已经确切地知道发生了什么。在第一种情况下,您自己的计时器操作运行。在第二种情况下,您自己的代码是invalidate()。因此,无需观察任何东西。

    如果您在其他地方有其他代码对安排计时器是否安全有疑问,那么您可以先测试isValid

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多