Оновлена відповідь на змінену документацію
Зараз інформація розповсюджена по кількох посібниках у документації. Ось список необхідних матеріалів:
Відповідь на це запитання тепер повністю залежить від того, чи використовуєте ви програму, керовану ARC (сучасна за замовчуванням для нових проектів), або примусове управління пам’яттю.
Присвоїти проти слабкого - використовуйте призначати, щоб встановити покажчик властивості на адресу об’єкта, не зберігаючи його чи іншим чином куруючи його; використовуйте слабке, щоб точка властивості автоматично нульова, якщо присвоєний йому об’єкт звільнено. У більшості випадків вам доведеться використовувати слабкий, тому ви не намагаєтесь отримати доступ до вивіленого об'єкта (незаконний доступ до адреси пам'яті - " EXC_BAD_ACCESS
"), якщо не виконаєте належне очищення.
Зберігати в порівнянні з копією - Задекларовані властивості використовують retain за замовчуванням (так що ви можете просто пропустити його взагалі) і автоматично керуватиме підрахунком посилань на об’єкт, незалежно від того, призначений інший об’єкт властивості або встановлений як рівний нулю; Використовуйте копію, щоб автоматично надіслати новопризначеному об’єкту -copy
повідомлення (яке створить копію переданого об’єкта і замість цього призначить цю копію властивості - корисно (навіть потрібно) у деяких ситуаціях, коли призначений об’єкт може бути змінений після встановлення як властивість якогось іншого об’єкта (що означало б, що модифікація / мутація стосуватиметься і властивості).