Как обеспечить, чтобы объекты, переданные в инициализатор, копировались, а не только устанавливали эти атрибуты позже?Атрибут Swift copy в инициализаторе
Использование @NSCopying
, Apple говорит, что мы можем достичь copy
-пособственного поведения. По умолчанию атрибут присваивается только, но не вызывает сеттер, который выполняет копирование.
Это потенциально опасно, поскольку я хочу полагаться на неизменное свойство и не изменять его, не зная. (подумайте о получении NSMutableString
вместо NSString
- копирование даст мне непреложный экземпляр).
Я не думаю, что есть автоматическое решение, вам нужно скопировать NSString в метод init. Обратите внимание, что проблема не существует для строк Swift, которые являются * значениями типов *. –