gpt4 book ai didi

Objective-c 我应该删除观察 NSWindowWillCloseNotification 吗?

转载 作者:行者123 更新时间:2023-12-03 17:50:11 25 4
gpt4 key购买 nike

我正在使用 - (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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com