【问题标题】:Understanding KVO in iOS了解 iOS 中的 KVO
【发布时间】:2011-01-27 06:18:41
【问题描述】:

关于“确保 KVO 合规性”, 有一些官方定义似乎很难理解

为了考虑 特定属性的 KVO 兼容, 一个类必须确保以下内容;

  1. 类必须是键值编码 符合该属性 在确保 KVC 合规性中指定。

  2. 该类必须允许自动 观察员通知 财产,或实施手册 属性的键值观察。

谁能给出更具体的例子来说明这一点?谢谢

【问题讨论】:

    标签: ios key-value-observing


    【解决方案1】:

    查看Ensuring KVO Compliance Key-Value Observing Programming Guide 的自动与手动支持部分。遵循方法和/或 ivars 的命名约定基本上可以实现合规性。

    根据我的经验,KVO 倾向于“正常工作”,这很好。

    【讨论】:

    【解决方案2】:

    当您使用@property 标记create getters/ setters 时,魔术会自动连接到一对一关系,您只需要添加观察者... 并实现观察... 方法来捕捉更新。

    真正的挑战是了解如何实现对多键值合规性以使可变集或数组工作。 documentation here 是关键,理解有两个部分......索引集合和无序集合。它确实帮助我理解,如果我的@property 是 NSMutableArray,您需要查看 Indexed 区域中的方法,如果您的 @property 是 NSMutableSet,则需要查看 Unordered 文档。

    即使您不打算使用它们,也需要实现一些必需的方法。

    【讨论】:

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