0
通常我們有這樣的關於產品@property和@synthesize
@interface TestAppDelegate : NSObject <UIApplicationDelegate> {
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@synthesize window;
而且還第二個版本的代碼
@interface TestAppDelegate : NSObject <UIApplicationDelegate> {
UIWindow *_window;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@synthesize window = _window;
Quetions是
- 有什麼大的差別?哪個更好?爲什麼?
- 對於第一個版本,爲什麼窗口的默認屬性成員是_window,在第二個版本中。 KVC或KVO在裏面工作嗎?
是的,我知道這一點。我想深入瞭解裏面的一些細節。 – Forrest 2011-05-03 04:00:36
好吧,這是我的理解@property和@synthesize只是簡寫。 @property是關於你希望屬性@synthesized的說明。觀察員等等有些不同。我發現這個[KVC和KVO](http://www.tomdalling.com/blog/cocoa/how-cocoa-bindings-work-via-kvc-and-kvo)或許它會幫助 – 2011-05-03 04:42:26
再次感謝。你能解釋第一個案例(裏面沒有屬性窗口聲明),裏面發生了什麼?因爲我們沒有內部聲明的實例成員「窗口」,如何調用set/get? – Forrest 2011-05-04 02:40:24