iOS通话属性

时间:2013-09-05 08:55:21

标签: ios objective-c

我是iOS开发的初学者,我目前正在网上观看几个课程,这些课程在后台获取和设置过程中解释了整个过程。

有人认为我在初始化变量时应该使用:

[self setX:1];

在访问此变量的其余代码中,我应该使用:

_x 

而不是:

[self x]

这个原因与引用计数有关,但现在在这个过程中,这个人告诉我除了在自动生成的getter和setter中之外什么都不使用下划线?

我知道点符号。但具体问题是:“我可以使用getter和setter调用variabel,而不必担心内存泄漏(我使用ARC)而不是下划线。

2 个答案:

答案 0 :(得分:2)

该属性的基础实例变量实际上是_x。这就是自动合成属性的工作原理。

但是,您应该考虑使用访问器来设置属性(使用self.x =代替)。有关Reason to use ivars vs properties in objective c

的更多信息,请参阅此链接

答案 1 :(得分:1)

你的ios版本是ios6,这就是为什么它会直接获得_x。

定义任何属性时

@Property int x;

ios6使用_x自动合成;所以不要担心你可以使用_x。