使用情节提要时如何在appDelegate中获取指向viewController的指针

Posted

技术标签:

【中文标题】使用情节提要时如何在appDelegate中获取指向viewController的指针【英文标题】:How to get a pointer to a viewController inside the appDelegate when using storyboards 【发布时间】:2011-12-25 19:55:06 【问题描述】:

我正在尝试保存来自 viewController 的数据。我通过使用 appDelegate 中的委托方法来做到这一点:- (void)applicationDidEnterBackground:(UIApplication *)application

问题是在使用情节提要时,viewControllers 会自动为您设置好,我不知道如何获取指向它们的指针,以便访问它们的数据以进行保存。

在使用情节提要时,如何在 appDelegate 中获得指向它们的指针?

【问题讨论】:

【参考方案1】:

您可以在UIViewController 中注册以接收进出后台通知,并在那里管理保存。

//Going into background
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(saveData) name:@"UIApplicationDidEnterBackgroundNotification" object:nil];

//Waking up
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(doSomethingOnWakeup) name:@"UIApplicationWillEnterForegroundNotification" object:nil];

【讨论】:

以上是关于使用情节提要时如何在appDelegate中获取指向viewController的指针的主要内容,如果未能解决你的问题,请参考以下文章

AppDelegate (OSX) 中主 NSWindow 的引用出口

如何仅使用代码在您的 iOS 应用程序中显示 ViewController?

未调用 applicationDidFinishLaunching,使用情节提要和 swift3

如何获取情节提要的缺失内容?

如何获取使用情节提要创建的按钮的对象

如何从情节提要中获取 imageView 的大小?