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