所以在指南中它说:
对于仅在 iOS 上运行的代码,最好使用自动合成的实例变量。
合成实例变量时,使用@synthesize var = var_; 因为这样可以防止意外调用 var = blah; 当 self.var = blah; 旨在。
// Header file
@interface Foo : NSObject
// A guy walks into a bar.
@property(nonatomic, copy) NSString *bar;
@end
// Implementation file
@interface Foo ()
@property(nonatomic, retain) NSArray *baz;
@end
@implementation Foo
@synthesize bar = bar_;
@synthesize baz = baz_;
@end
问题是,这是否仅适用于公共变量或私有变量?文档上并不是很清楚,但想对为什么“如果”这仅适用于公共或私人有一些想法或观点?我认为这对所有公共/私人来说都是有意义的,这样你就不会弄乱 ivars 并使用该属性