Цель C: ARC с IVars объявлен в файле реализации - PullRequest
10 голосов
/ 18 декабря 2011

Я нашел интересную публикацию , описывающую, как в Objective-C 2.0 переменные экземпляра могут быть объявлены в файле реализации. Рассмотрим этот пример:

@interface MyClass {}
@end

@implementation MyClass {    
  NSObject *obj1;
  NSObject *obj2;
}
@end

Обратите внимание, что ivars obj1 и obj2 являются , а не объявленными свойствами. Поскольку они не объявляются с помощью оператора @property, соответствующих квалификаторов владения, таких как weak / strong.

, не существует.

Мой вопрос: помнит ли проект, использующий автоматический подсчет ссылок (ARC), для очистки объектов, объявленных таким образом? Будем благодарны за любые документы, касающиеся этой конкретной проблемы.

1 Ответ

15 голосов
/ 18 декабря 2011

Да, у них неявно есть __strong перед ними.ARC будет иметь дело с ними так же, как вы ожидаете от сильной собственности.Соответствующий раздел в документации: 4.4.1. Objects.

...