2010-06-16 16 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