Лучше использовать -> вместо. в реализации метода `copyWithZone:` в target-c?

Скажем, есть класс A со свойством p1, и установщик для p1 был перезаписан. Теперь я хочу реализовать протокол NSCopying для класса А.

В моем понимании, поскольку вы "копируете" экземпляр класса A, нет необходимости запускать какие-либо методы установки в copyWithZone: метод. Так copyOfInstance -> _p1 = _p1; лучше, чем copyOfInstance.p1 = _p1, Это правильно?

1 ответ

Да. Вы формируете новый объект точно так же, как если бы вы реализовывали инициализатор. Так что правила одинаковы. Так же, как вы не должны использовать метод установки в init... метод, поэтому вы не должны использовать сеттер в copyWithZone:,

Другие вопросы по тегам