gpt4 book ai didi

ios - 有没有办法检查观察者是否在听一些 NSNotification?

转载 作者:可可西里 更新时间:2023-11-01 04:44:09 24 4
gpt4 key购买 nike

我想检查我的 View 是否正在监听 UIApplicationWillResignActiveNotification。如果它正在监听,那么我想在 dealloc 期间将其删除。现在我想知道是否有办法使用 objective c 来做到这一点?

我并不是要避免多次添加通知。下面是对我正在尝试做的事情的更多解释。

我有自定义的 gridView。我可以在启用缩放或禁用缩放的情况下对其进行初始化。如果 init 启用了缩放,我将自己添加为 UIApplicationWillResignActiveNotification 的观察者,但如果它的 init 禁用了缩放,那么它不会将自己添加为该通知的观察者。现在,在 dealloc 中,我想删除该 gridView 作为该通知的观察者。所以我想知道是否有办法查明 gridView 是否正在收听该通知。

最佳答案

我不知道有什么方法可以检查您的观察者正在监听哪些通知,但无论它是否正在监听 UIApplicationWillResignActiveNotification,调用:

[[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationWillResignActiveNotification];

将导致 self 停止收听该通知,或者如果 self 没有收听通知则什么也不做。

指定您要停止收听的通知的名称是最佳做法,但既然您说过要将它放在 dealloc 中,那么这样做也是安全的:

[[NSNotificationCenter defaultCenter] removeObserver:someObserver];

关于ios - 有没有办法检查观察者是否在听一些 NSNotification?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19436311/

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