Ответ НЕТ.Причиной этого является причина, почему мы используем неатомные и сохранить.
Из руководство по управлению памятью"Объекты в файле пера создаются с счетом сохранения 1 и затем автоматически высвобождаются. По мере восстановления иерархии объектов UIKit восстанавливает соединения между объектами с помощью setValue:forKey :, который использует доступный метод установки или сохраняет объект по умолчанию, если метод установки недоступен. Это означает, что (при условии, что вы следуете шаблону, показанному в «Розетки»), любой объект, для которого у вас есть розетка, остается действительным. "
Итак, мы предоставляем этот установщик просто для соответствия поведению по умолчанию.
Да, можно объявить сеттер другими способами, но, по крайней мере, я не нашел причин для этого.Если мы используем assign вместо retain, то нет гарантии, что объекты останутся действительными.А управление памятью в iPhone уже критично, и, очевидно, я не хочу делать его более критичным, игнорируя соглашение.
- изменить
Ответ НЕТ только для переменных пользовательского интерфейса, то есть для IBOutlets.Не смущайтесь.Другие атрибуты необходимы в других случаях, как объяснено в других ответах.