看板 MacDev 關於我們 聯絡資訊
- (void)awakeFromNib { NSLog(@"awakeFromNib"); [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(windowWillClose:) name:NSWindowWillCloseNotification object:window]; } 想請問各位 我對這段程式碼的理解有沒有錯誤 nib裡面有很多的object(我所創造的object 例如 NSString *astring NSTextField *textfield 和系統自動建立的 例如 NSWindow *window ) 他們原本都被archived了當我執行這個app的時候 他們就會被unarchived 此時每個object都會被send awakeFromNib這個message 所以 我所有的object都會收到我寫在awakeFromNib裡的程式碼 就類似 系統幫我寫了 [astring awakeFromNib]; [textfield awakeFromNib]; [NSWindow *window]; [其他1 awakeFromNib]; [其他2 awakeFromNib]; 然後 大家都被告知 當window這個object 發出名為NSWindowWillCloseNotification的消息時 所有的object (因為所有的object都call了awakeFromNib了 然後又用了self) 就要執行windowWillClose這個method 感覺應該不是這樣吧@@?? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 36.231.81.247
Blueshiva:你寫的awakeFromNib是"被呼叫"的,因此也只有你寫的這個 11/13 12:29
Blueshiva:Object會執行這段code 11/13 12:29