注意:对于那些四处挖掘试图理解这一点的人,我找出了我困惑的根源。在.h中,我有:
...
@interface myClass : parentClass {
className *variableName:
}
@property (strong, nonatomic) className *variableName;
...
这导致 self.variableName 和 _variableName 成为 .m 中的两个不同变量。我需要的是:
...
@interface myClass : parentClass {
className *_variableName:
}
@property (strong, nonatomic) className *variableName;
...
那么,在类'.m中,self.variableName和_variableName是等价的
在带有 ARC 的全新 Xcode 4.5+ 中,针对 iOS 5.0+ 项目,使用_variableName
overself.variableName
与旧式相比是否有明显的优势(运行时效率、速度等) @synthesize variableName
?
我的理解是 Xcode 4.5+ 将创建一个_variableName
等效于的默认访问器,self.variableName
不使用的唯一原因@synthesize variableName
是避免 iVar 和传入变量之间的混淆,对吗?
对我来说,仅self.variableName
用于访问 iVar 似乎是最直接和最清楚您正在寻找哪个变量的方法。除了打字_
vs.之外self.
,使用 有没有优势_variableName
?