KVC Compliance - Руководство по объявлению iVars - PullRequest
1 голос
/ 31 января 2012

Я видел ivars , которые поддерживают свойства, объявленные в 2 основных форматах (в различных книгах, в блогах и т. Д.):

myProperty = _myProperty;
myProperty = myProperty_; 

Документы Apple говорят, что прежний нужен для соответствия значения ключа

Какой из них наиболее подходит?

Ответы [ 2 ]

2 голосов
/ 31 января 2012

Если вы создаете свойство, имя базового ивара не имеет никакого значения для KVC - оно будет проходить через метод доступа. Он будет обращаться к переменной экземпляра, только если оба из следующих истинны:

  • Не удалось найти подходящий метод доступа для ключа

  • Класс объекта возвращает YES для accessInstanceVariablesDirectly

1 голос
/ 31 января 2012

В настоящее время неофициальная рекомендация Apple - использовать префикс подчеркивания. Есть признаки , что в будущем для этого будут синтаксические удобства.

...