Пример для № 2

несколько ситуаций, когда вы можете переопределить свойство суперкласса.

Вы объявляете свойство с тем же именем и тем же атрибутом его суперкласса '. (Поскольку при изменении атрибута вы можете получить предупреждение компилятора). И вы можете синтезировать с помощью созданного вами ивара. Какая польза от этого? Или какой вред это может принести?

Если суперкласс объявляет свойство в расширении класса (категория без имени), то оно может отсутствовать в заголовочном файле. Если вы не знаете это свойство из заголовочного файла, вы можете объявить то же свойство name с тем атрибутом или классом, который вам нужен. Но метод установки / получения переопределяет методы для этого "секретного свойства". Я думаю, что это может только навредить. Но так как вы не знаете из заголовочного файла, как вы можете избежать этого?

Вы можете объявить свойство в заголовочном файле как «только для чтения», а в расширении класса повторно объявить его как «readwrite». Я думаю, что это ситуация, которая может принести пользу.

Правильно ли мое понимание этих ситуаций? И я не знаю, что хорошего могут сделать первая и вторая ситуации. Но если я хочу избежать первой ситуации, я могу проверить, есть ли у подкласса свойство, прежде чем объявить его. Но если свойство отсутствует в общедоступном заголовочном файле, как во второй ситуации, я просто не знаю, что делать.

Ответы на вопрос(2)

Ваш ответ на вопрос