То же самое. Установка свойства только изменяет владельца этого массива, а не содержимое массива (содержимое принадлежит одному и тому же массиву). Следовательно, -retain
'ed.
требует только массив
На самом деле, среда выполнения не заботится о конкретном типе свойства Objective-C. Та же процедура установки будет применяться ко всем @property(retain)
свойствам.
Чтобы сеттер выполнял поверхностное копирование, сделайте его @property(copy)
. Там нет никакого способа сделать это глубокое копирование.