Цель C: ARC с IVars, объявленными в файле реализации

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

@interface MyClass {}
@end

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

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

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


person ocarlsen    schedule 17.12.2011    source источник


Ответы (1)


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

person Joshua Weinberg    schedule 18.12.2011