Объявленные свойства и присвоение значений с помощью self - PullRequest
0 голосов
/ 17 июня 2010

Я понимаю, как работают объявленные свойства - мне просто нужно уточнить, когда Objective C использует метод доступа, а не когда.

Скажем, у меня есть свойство, объявленное с использованием retain:

@ свойство (неатомное, сохраняемое) NSDate * date;

... и более поздние версии ... @synthesize date

Если я скажу: date = x

Isчто вызывает метод доступа?Или это просто установка переменной?

self.date = x

Кажется, это вызывает метод доступа (я думаю, но я не уверен, так как кажется, что счетчик сохраненияувеличивается).

Кто-нибудь может прояснить этот вопрос?Мне любопытно, потому что у меня есть некоторые переменные, которые кажутся недействительными до того, как они мне понадобятся (и я должен специально вызвать retain), и я подозреваю, что именно поэтому

1 Ответ

0 голосов
/ 17 июня 2010

date = x; устанавливает переменную экземпляра напрямую и в обход методов доступа.

self.date = x; - то же самое, что и [self setDate:x];, и использует методы доступа.

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