[問題] awakeFromNib 和 NSNotification
- (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
推
11/13 12:29, , 1F
11/13 12:29, 1F
→
11/13 12:29, , 2F
11/13 12:29, 2F
MacDev 近期熱門文章
PTT數位生活區 即時熱門文章