随着 Objective-C 的发展(我专门将它与 xcode/ios 一起用于 iPhone/iPad 开发),似乎有许多不同的方式可以布置类实例变量。是否存在已成为普遍共识的“最佳实践”方式?(我意识到 Apple 演示/示例代码在风格方面无处不在)
特别是处理私有变量的想法。以下是我见过的管理类的一些实例变量的多种方法(为简洁起见,我省略了接口/实现)——我什至不包括使用下划线命名的综合属性。
。H
@property (nonatomic, strong) NSString *aString;
.m
@synthesize aString;
- (void)aMethod {
aString = @"Access directly, but if I don't have custom getter/setters and am using ARC, do I care?";
self.aString = @"Access through self";
}
或这个:
。H
@property (readonly) NSString *aString;
.m
@property (nonatomic, strong) NSString *aString;
...
@synthesize aString;
或这个:
.m
@interface aClass {
NSString *aPrivateString;
}
- (void)aMethod {
aPrivateString = @"Now I have to access directly, but is this atomic/nonatomic?";
}
我不希望这个问题变成一个风格论据,但在我看来,应该有一个“如果你没有做一些特定、复杂或奇怪的事情,请使用这种方法来定义你的类变量”标准。