Полагаю, что я понимаю свойства по большей части. Мой вопрос: если у меня есть свойство для переменной экземпляра, и я устанавливаю или извлекаю его из метода в моем файле реализации, должен ли я использовать self.myProperty
или просто myProperty
? Я знаю, что любой из них работает, но я видел смешанные соглашения, иногда код получает доступ к переменной напрямую и в другое время через свойство.
Есть ли техническая причина для этого? Это просто условное/личное предпочтение? И я не имею в виду экземпляры, где имя параметра метода сталкивается с именем переменной экземпляра, что может быть одной из причин использования свойства (по крайней мере, на других языках я не знаю об этом). Я предполагаю, что, когда вы используете свойство внутри реализации, они хотят использовать способ, которым они объявили свойство (т.е. Неатомное, сохранить), например, например, в методе:
self.myProperty = [someObject someAutoReleasedObject];
вместо:
myProperty = [[someObject someAutoReleasedObject] retain];
Это причина? Так существуют ли только определенные ситуации, в которых было бы хорошо использовать свойство?
Я новичок в Objective-C, и это одна из немногих вещей, которые меня путают. До сих пор я просто обращался к переменной экземпляра напрямую, по наиболее вероятному ложному предположению, что через свойство на самом деле вызывает/отправляет метод/сообщение и добавляет лишние накладные расходы. Я уверен, что я ошибаюсь в этом, но даже если разница в накладных расходах незначительна (если их даже нет), почему бы их выбрать, чтобы добавить их, когда можно просто напрямую получить доступ к переменной?
Я уверен, что ошибаюсь в своих мыслях, поэтому я спрашиваю здесь.