gpt4 book ai didi

ios - 当我在应用程序 didFinishLaunchingWithOptions 中收到 UIApplicationLaunchOptionsLocationKey 时,是否初始化 viewController?

转载 作者:可可西里 更新时间:2023-11-01 03:30:17 26 4
gpt4 key购买 nike

我正在创建一个应用程序来监听重要的位置更改事件,如果应用程序终止,iOS 会启动应用程序并设置 UIApplicationLaunchOptionsLocationKey。

所以,文档说要创建一个新的位置管理器并再次注册位置更新。但是,没有提到我是否应该初始化我的 viewController(就像我在正常的应用程序启动中所做的那样)?我的 View Controller 在 viewDidLoad 中初始化,但在 appDidFinishLaunchingWithOptions 中创建。

知道操作系统为应用程序提供多少时间来处理位置更新吗?如果位置更改表明应用程序感兴趣的位置,我的应用程序需要发出网络服务请求。

谢谢

最佳答案

您应该考虑将您的初始化代码移至一个新方法,例如 initializeViews。此方法将检查以确保 View 尚未初始化,然后对其进行初始化。您可以从 application:didFinishLaunchingWithOptions:applicationWillEnterForeground: 中调用此方法,但 application:didFinishLaunchingWithOptions: 中的调用只会在应用程序不存在时发生不去后台。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
...
if([UIApplication sharedApplication].applicationState != UIApplicationStateBackground)
[self initializeViews];
}
- (void)applicationWillEnterForeground:(UIApplication *)application {
[self initializeViews];
}
- (void)initializeViews {
if(!viewsAreInitialized) {
...
viewsAreInitialized = YES;
}
}

关于ios - 当我在应用程序 didFinishLaunchingWithOptions 中收到 UIApplicationLaunchOptionsLocationKey 时,是否初始化 viewController?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5929414/

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