Что такое сильный атрибут свойства

Я использую бета-версию Xcode для разработчиков и замечаю некоторые тонкие различия. Среди них - новый атрибут объявленных свойств.

@property(strong)IBOutlet NSArrayController *arrayControl;

Мой вопрос: что означает сильный атрибут? Он заменяет какой-то более старый, или это что-то совершенно новое? Я искал через Google, а документацию разработчика и havent смог найти что угодно. Пока я не знаю, что это такое, я не решаюсь его использовать.

Заранее спасибо

Ответ 2

Сильная ссылка - это ссылка на объект, который не позволяет ему освободиться. Другими словами, он создает отношения владельца. Если раньше вы делали это:

**// Non-ARC Compliant Declaration
@property(retain) NSObject *obj;**

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

**// ARC Compliant Declaration
@property(strong) NSObject *obj;**

Ответ 3

Как известно, мы не можем выпустить какой-либо объект в ARC-проекте в iOS 5. Поэтому, когда мы хотим сохранить какой-либо объект для дальнейшего использования на более позднем этапе и не хотим, чтобы ARC удалял объект из памяти, мы устанавливаем свойство для объекта как "Сильное".