Ответ 1
Да, они неявно имеют перед ним __strong
. ARC будет иметь дело с ними так же, как вы ожидаете от сильной собственности. Соответствующий раздел в документах 4.4.1. Objects
.
Я нашел интересный пост, описывающий, как в Objective-C 2.0 переменные экземпляра могут быть объявлены в файле реализации. Рассмотрим этот пример:
@interface MyClass {}
@end
@implementation MyClass {
NSObject *obj1;
NSObject *obj2;
}
@end
Обратите внимание, что ivars obj1
и obj2
не объявлены. Поскольку они не объявлены с помощью оператора @property
, не существует соответствующих квалификаторов собственности, таких как weak
/strong
.
Мой вопрос: не будет ли проект, использующий Automatic Reference Counting (ARC), очистить объекты, объявленные таким образом? Будут оценены любые документы, посвященные этой конкретной проблеме.
Да, они неявно имеют перед ним __strong
. ARC будет иметь дело с ними так же, как вы ожидаете от сильной собственности. Соответствующий раздел в документах 4.4.1. Objects
.