作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 - (void)awakeFromNib
中的以下代码查看我的 mac 应用程序的首选项窗口状态
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(windowWillClose:)
name:NSWindowWillCloseNotification
object:self.prefsWindow];
方法windowWillClose:
如下
- (void)windowWillClose:(NSNotification *)notification {
NSLog(@"Received Notification!");
[[self.customOptField window] makeFirstResponder:nil];
}
我想在我的应用程序运行时继续查看首选项窗口状态。即每次关闭首选项窗口时,我都会调用 windowWillClose:
方法。
目前我的代码似乎运行良好。但我想知道我应该删除观察 NSWindowWillCloseNotification
吗?如果应该删除,什么时候应该删除?
如有任何建议,我们将不胜感激!!
最佳答案
您注册的每个通知都应在相反的调用中删除。
对于awakeFromNib
来说,它只在init之后调用一次,相反的是dealloc
。因此将其删除!
- (void)awakeFromNib {
[[NSNotificationCenter defaultCenter] addObserver: self
selector: @selector(windowWillClose:)
name: NSWindowWillCloseNotification
object: self.prefsWindow];
}
...
- (void)dealloc {
[[NSNotificationCenter defaultCenter] removeObserver: self
name: NSWindowWillCloseNotification
object: self.prefsWindow ];
}
关于Objective-c 我应该删除观察 NSWindowWillCloseNotification 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28912564/
在我正在创建的应用程序中,我有一个欢迎窗口,其中包含最近文档的列表(功能与新的 Xcode 4 的欢迎窗口类似)。我正在欢迎窗口中注册应用程序的委托(delegate)和 View Controlle
我正在使用 - (void)awakeFromNib 中的以下代码查看我的 mac 应用程序的首选项窗口状态 [[NSNotificationCenter defaultCenter] addObse
假设我有一个名为“创建窗口”的菜单按钮,用于创建一个新窗口: MyWindowClass * window = [MyWindowClass new]; 为了保留它,我将它添加到一个可变数组中(声明和
我是一名优秀的程序员,十分优秀!