有没有一种方法可以检查观察者是否收听某些NSNotification?

slo*_*kar 5 objective-c nsnotifications nsnotification nsnotificationcenter ios

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

我不尝试避免为通知添加多个内容。这是我要做什么的更多解释。

我有自定义的gridView。我可以通过启用缩放或禁用缩放来初始化它。如果启用了缩放的init,我将自己添加为UIApplicationWillResignActiveNotification的观察者,但是如果禁用了缩放的init,则它不会将自身添加为该通知的观察者。现在,在dealloc中,我想删除该gridView作为该通知的观察者。所以我想知道是否有办法找出gridView是否正在侦听该通知。

sto*_*roj 1

如果您想检查 dealloc 方法,如果您的视图已注册为观察者以正确删除它 - 您不应该这样做。您需要做的就是:

[[NSNotificationCenter defaultCenter] removeObserver:myView]
Run Code Online (Sandbox Code Playgroud)

它将删除您订阅的所有通知的观察者