Если вы пишете свои собственные сеттеры, не имеет значения, что вы используете.Он служит только намеком на то, как он работает для вас / других разработчиков.
Тип свойства действительно влияет только на методы, созданные @synthesize
.Поэтому, если вы предоставляете свои собственные методы, вы сами диктуете стратегию сохранения, а стратегия свойств из декларации в основном игнорируется.
В этом случае я бы использовал copy.Потому что, хотя вы не используете прямое копирование, вы сохраняете значения, полученные из переданного объекта, и сохраняете их ненавязчивым способом для этого объекта.Таким образом, вы копируете информацию, просто в другой формат.Но что касается компилятора, это вообще не имеет значения.Это просто для галочки, когда ты пишешь свой собственный сеттер.