【问题标题】:KVC Compliance - Guidelines for declaring iVarsKVC 合规性 - 声明 iVar 的指南
【发布时间】:2012-01-30 21:52:29
【问题描述】:

我见过 ivars 支持以 2 种通用格式(在各种书籍、博客等中)声明的属性:

myProperty = _myProperty;
myProperty = myProperty_; 

Apple 文档说key value compliance 需要前一个

哪个最合适?

【问题讨论】:

  • 谢谢你——我认为需要澄清一下,文档实际上说 KVC 将首先查找正确命名的访问器方法,然后 然后 查找名为 key 或 _key 的 ivar .这并不意味着 KVC 需要命名您的 ivars _key。

标签: ios cocoa kvc


【解决方案1】:

如果您正在创建一个属性,则底层 ivar 的名称对 KVC 没有任何影响——它将通过访问器。只有当以下 both 都为真时,它才会访问实例变量:

  • 找不到任何合适的密钥访问器

  • 对象的类为accessInstanceVariablesDirectly返回YES

【讨论】:

    【解决方案2】:

    Apple 目前的非正式建议是使用下划线前缀。有indications,将来会有语法上的便利。

    【讨论】:

      猜你喜欢
      • 2012-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多