2010-06-16 36 views
0

我明白聲明的屬性是如何工作的 - 我只需要澄清什麼時候Objective C使用訪問器方法與何時不是。聲明的屬性和賦值與自我

說我有一個屬性宣佈使用保留:​​

@屬性(非原子,保留)的NSDate *日期;

......後來...... @synthesize日期

如果我說: 日期= X

是在調用訪問方法?或者它只是設置變量?

self.date = X

這似乎調用訪問方法(我想,但我不知道,因爲它似乎是保留計數增加)。

任何人都可以澄清這個問題嗎?我很好奇,因爲我有一些變量在我需要它們之前似乎變得無效(並且我必須專門調用retain),並且我懷疑這是爲什麼。

回答

0

date = x;直接設置實例變量並繞過訪問器方法。

self.date = x;是一回事[self setDate:x];,並且使用存取方法。

+0

謝謝 - 正是我在找的東西。 – 2010-07-10 00:21:43