gpt4 book ai didi

ios - 标签栏( View Controller )中调用多次ios的通知中心方法方法?如何删除观察者?

转载 作者:行者123 更新时间:2023-11-28 08:54:07 25 4
gpt4 key购买 nike

我正在从一个 View Controller 中发布通知,它位于选项卡栏应用程序的导航堆栈中。我正在删除 dealloc 中的观察者。

 [[NSNotificationCenter defaultCenter] removeObserver:self name:@"ArtworkAddedReloadAllArtworks" object:nil];  in dealloc correctly.

我正在注销

[[self tabBarController] dismissViewControllerAnimated:YES completion:nil];

但问题是当我重新登录时,在通知中心添加了两次相同的通知

ArtworkAddedReloadAllArtworks, 0x12ff698, 0x7a490e00, 1400
ArtworkAddedReloadAllArtworks, 0x12ff698, 0x7a431800, 1400

在通知中心,因为创建了 2 个 View Controller 实例,并且通知添加了两次,两个不同的对象,如何注销通知?我无法从 viewDidDisappear 中删除,因为我从其他 Controller 发布通知。dealloc 在登录后调用。

如何制作 nil view controller(登录前先创建)和他的观察者?

提前致谢。

最佳答案

NSNotificationCenter.defaultCenter().removeObserver(self, name : UIKeyboardWillShowNotification, object: nil)

在这种情况下,任何监听“UIKeyboardWillShowNotification”的观察者都将从您所在的 View Controller 中移除。

关于ios - 标签栏( View Controller )中调用多次ios的通知中心方法方法?如何删除观察者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33565956/

25 4 0