Ios KVC合规性-声明IVAR的指南

Ios KVC合规性-声明IVAR的指南,ios,cocoa,kvc,Ios,Cocoa,Kvc,我见过支持以2种通用格式声明的属性的IVAR(在各种书籍、博客等中): 苹果公司的医生说,前一个是必要的 哪一个最合适?如果要创建属性,则基础ivar的名称对KVC没有任何影响-它将通过访问器。仅当以下两项均为真时,它才会访问实例变量: 它找不到任何适当的密钥访问器 对于accessInstanceVariables直接 苹果公司目前的非正式建议是使用下划线前缀。将来会有一些语法上的便利。谢谢-我认为需要澄清的是,文档实际上说KVC将首先查找正确命名的访问器方法,然后查找ivar命名的键或_键

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

苹果公司的医生说,前一个是必要的


哪一个最合适?

如果要创建属性,则基础ivar的名称对KVC没有任何影响-它将通过访问器。仅当以下两项均为真时,它才会访问实例变量:

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

  • 对于
    accessInstanceVariables直接


    • 苹果公司目前的非正式建议是使用下划线前缀。将来会有一些语法上的便利。

      谢谢-我认为需要澄清的是,文档实际上说KVC将首先查找正确命名的访问器方法,然后查找ivar命名的键或_键。这并不意味着KVC需要命名ivars_密钥。
      myProperty = _myProperty;
      myProperty = myProperty_;