Это может быть очень глупо начинающий вопрос, НО:В каких случаях рекомендуется отказаться от использования self при доступе к переменным экземпляра?
Если у вас есть некоторые интересные переменные экземпляра в классе, такие как UIScrollView * scrollView2, например, почему вы должны обойти геттер и сеттер, отказавшись в
[self.scrollView2 addSubview:imageView];
, а скорее делает
[scrollView2 addSubview:imageView];
? Я имею в виду ... перебирать геттер не повредит, и на самом деле я думал, что это всегда путь. Но во всех примерах Apple я пропустил эту схему повсюду. Они редко используют self.someInstanceVariable при вызове методов. Или у меня что-то не так?
Я начал делать то же самое, что и яблоко, но я хотел бы знать: почему?
хорошо, поэтому в этих случаях Apple просто хотела удостовериться, что никто другой не получит уведомление или что-то еще, если они используют переменную экземпляра? Как обо всех материалах управления памятью, которые делают аксессоры? – Thanks
Swanzus Longus: Одна из возможных причин заключается в том, что ничего не наблюдалось в этом свойстве, поэтому это не имело особого значения и было немного быстрее без сообщения о доступе (неверная причина - всегда использовать сообщение о доступе в любой публичной собственности, на случай, если вы начнете наблюдать это в будущем). Другая возможная причина заключается в том, что она не является публичным свойством объекта: это всего лишь ивар, не более того. –
Спасибо, Питер. Так что справедливо сказать: «Если у вас есть общественная собственность, никогда не обходите аксессоров»? Я имею в виду ... для меня нет смысла обойти их. Этот один маленький вызов для доступа не должен задерживать так много ... За исключением среды, в которой какой-то цикл атакует переменную экземпляра 1000 раз в секунду. – Thanks