gpt4 book ai didi

ios - 在多个 View Controller 中处理相同的 NSNotification

转载 作者:行者123 更新时间:2023-11-28 19:46:00 26 4
gpt4 key购买 nike

当我的应用程序从后台模式返回时,我使用以下通知重新加载 ViewControllerA。它工作正常,但每次我再次打开应用程序时都会调用 applicationEnteredForeground: 方法。例如,如果我在屏幕上显示 ViewControllerBViewControllerC 时关闭应用程序并再次打开它,尽管 viewDidLoadViewControllerB 不包含 applicationEnteredForeground: 方法。我想知道如何解决这个问题?我的目标是仅当 ViewControllerA 在我关闭应用程序之前出现在屏幕上时才使用 applicationEnteredForeground:。作为一个可能的解决方案,我只是删除 viewDidDisappear 中的 NSNotificationCenter,但是由于观察者在 viewDidLoad 中,所以当用户导航回来,因为 viewDidLoad 不会被再次调用。有什么解决办法吗?

- (void)viewDidLoad {

[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(applicationEnteredForeground:)
name:UIApplicationWillEnterForegroundNotification
object:nil];

}

- (void)applicationEnteredForeground:(NSNotification *)notification {

// do stuff...

}

最佳答案

您应该删除 ViewController A 在 vi​​ewWillDisappear 上的事件监听器并将其添加到 viewWillAppear 中。这样,VC A 只有在它是可见 View Controller 时才会监听。

关于ios - 在多个 View Controller 中处理相同的 NSNotification,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32124001/

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