KVC合规性 - 声明iVars的指南

时间:2012-01-30 21:52:29

标签: ios cocoa kvc

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

myProperty = _myProperty;
myProperty = myProperty_; 

Apple文档说key value compliance

需要前者

哪一个最合适?

2 个答案:

答案 0 :(得分:2)

如果你正在创建一个属性,底层ivar的名称对KVC没有任何影响 - 它将通过访问者。如果以下两者为真,它将只访问实例变量:

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

  • 对象的类为YES

  • 返回accessInstanceVariablesDirectly

答案 1 :(得分:1)

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