Я хотел бы знать, когда использовать copy, retain или assign при объявлении свойства.
copy
retain
assign
Кроме того, почему nonatomic используется при объявлении свойства?
nonatomic
Вы прочитали Руководство по управлению памятью ?Все ответы там.
Это может звучать как легкомысленный ответ;но ответы есть в документах.Ответы, которые вы получите здесь, будут просто кратким изложением документации, и вы потеряете удовольствие от самостоятельного изучения управления памятью, а также получите жизненно важную практику чтения документации Apple, которая поможет вам в процессе обучения.