Объявление его copy
будет означать, что вы получите совершенно новый объект NSDictionary
для использования с вашим классом. Если это довольно большой словарь, это может быть удар по производительности; не очень заметно, но в любом случае значимо. Используя retain
, вы просто указываете своему классу собственный указатель на тот же экземпляр NSDictionary
.
Объявляя это assign
подвергает ваше приложение риску сбоя в случае автоматического выпуска NSDictionary
. Если он попадает в пул и освобождается из-за того, что пул уменьшил количество сохраняемых данных до 0, ваш класс больше не сможет получить к нему доступ, что приведет к падению.