所以它說的準則:Objective-C的編碼規則
對於代碼,將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
的問題是,這是否適用於公共變量只或私人的嗎?關於文檔還不是很清楚,但是想知道爲什麼「如果」這個只適用於公共或私人?我認爲這是很有道理的所有公共/私有,這樣你不要弄亂實例變量和使用屬性
在一個側面說明...爲什麼你會擁有公共實例變量? –
這些不是「私人」艾滋病毒,他們只是不公開可見......我認爲一致性是你的朋友。也僅僅因爲某些東西不是公開可見的,並不能免於你直接意外地訪問某些東西,所以它當然適用於兩者。 –
@ Paul.s,那些肯定是私人ivars。巴斯特的財產是公開隱形的「私人」財產,但支持伊娃的財產只是簡單的私人財產。 –