Подтвердить что ты не робот

Синтезированные свойства для примитивных типов данных с использованием ARC - слабый или назначаемый?

Мне было интересно, как правильно писать синтезированные свойства для примитивных типов данных (например, bool), когда включена ARC.

Я использовал это перед ARC:

@property(assign) bool isOn;

Но я понимаю (может быть, неправильно), что вы не должны использовать assign, когда включена ARC. Я попытался заменить это на weak, но я получил ошибку -

Свойство атрибута "слабый" должно быть объекта типа.

Должен ли я продолжать использовать assign?

4b9b3361

Ответ 1

Assign отлично. ARC означает "Автоматический подсчет ссылок", а примитивные типы данных не имеют счетчиков ссылок.

Weak не удалось, потому что нет никакого объекта или каких-либо ссылок для ARC для управления.

Ответ 2

Кажется, вам нужно прочитать здесь определенную тему. Проверьте: http://clang.llvm.org/docs/AutomaticReferenceCounting.html

Проверить главу 4;) Здесь вы прочтете, что назначение отлично с ARC.

Ответ 3

Когда ARC Enabled вы можете писать синтезированные свойства для таких примитивных данных, как (например: BOOL). @property (unsafe_unretained) bool isOn;