0
這裏有兩種標題的區別嗎?兩種編碼風格有什麼區別屬性
@interface MyObject: NSObject{
NSString *title;
}
@property (nonatomic, retain) NSString *title;
這裏有兩種標題的區別嗎?兩種編碼風格有什麼區別屬性
@interface MyObject: NSObject{
NSString *title;
}
@property (nonatomic, retain) NSString *title;
第一個是實例變量。
第二個屬性。
實例變量作爲類的聲明(接口)的一部分被大量棄用,但在類的內部使用的實例變量可以在擴展或@implementation中聲明。
屬性聲明API(setter/getter)和所使用的內存管理模型。默認情況下,現代編譯器會自動合成實例變量以支持屬性。
上面這個不是屬性,而只是一個實例變量。 我的意見在這裏:
@interface MyObject : NSObject { NSString *title; }
@property
而已,而無需顯式地@synthesize
它, 的Xcode會隱@synthesize title = _title;
其中 _title
是實例變量來支持物業self.title
。這是一種很好的編碼風格,我認爲。