Свойства Objective-C - PullRequest
       1

Свойства Objective-C

0 голосов
/ 11 мая 2011

Мне было просто интересно, когда я получаю доступ к свойствам из класса, нужно ли делать [self someProperty] или self.someProperty? Или это можно просто назвать someProperty?

РЕДАКТИРОВАТЬ: Учитывая, что имя свойства не конфликтует / shawdow ....

Ответы [ 3 ]

2 голосов
/ 11 мая 2011

Либо будет работать.Запись .someProperty, возможно, немного безопаснее, так как компилятор выдаст ошибку, если вы сделаете там опечатку;Напротив, опечатка [self someProperty] только выдаст предупреждение.

1 голос
/ 11 мая 2011

Можно ссылаться на переменную экземпляра, используя только someProperty при чтении значения, но при установке значения, если вы не используете [self setSomeProperty:] или self.someProperty =, тогда не будет никакого значения ключанаблюдающие сообщения отправлены.Поэтому, если какой-либо другой объект наблюдает за этим свойством, он не будет корректно обновляться.

Иногда это может быть тем, что вы хотите, устанавливая переменную экземпляра напрямую, но обычно вы хотите, чтобы наблюдение работало.

0 голосов
/ 11 мая 2011

[self someProperty] или self.someProperty? или может это безопасно называть это просто someProperty?

Любой из них в порядке. Но я предпочитаю не использовать self, когда находится в области видимости.

someValue = 10 ;
[ self someValue ] = 20 ;
self.someValue = 30 ;

Все три вышеприведенных оператора изменяют интерфейсную переменную someValue.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...