我是iOS开发的初学者,我目前正在网上观看几个课程,这些课程在后台获取和设置过程中解释了整个过程。
有人认为我在初始化变量时应该使用:
[self setX:1];
在访问此变量的其余代码中,我应该使用:
_x
而不是:
[self x]
这个原因与引用计数有关,但现在在这个过程中,这个人告诉我除了在自动生成的getter和setter中之外什么都不使用下划线?
我知道点符号。但具体问题是:“我可以使用getter和setter调用variabel,而不必担心内存泄漏(我使用ARC)而不是下划线。
答案 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。