作者chise (chise)
看板MacDev
标题[问题] awakeFromNib 和 NSNotification
时间Tue Nov 12 19:09:27 2013
- (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
1F:推 Blueshiva:你写的awakeFromNib是"被呼叫"的,因此也只有你写的这个 11/13 12:29
2F:→ Blueshiva:Object会执行这段code 11/13 12:29