gpt4 book ai didi

ios - 私有(private)函数 didFinishLaunchingWithOptions 没有被调用? ( swift 3)

转载 作者:IT王子 更新时间:2023-10-29 05:38:42 27 4
gpt4 key购买 nike

didFinishLaunchingWithOptions 不是应该在应用程序首次开始运行时调用吗?我在这个方法上设置了一个断点,当我在模拟器中运行应用程序时,断点没有被击中,这意味着该方法没有被调用。每当应用程序启动时,我都试图从 UserDefaults 加载一些数据,但它被完全忽略了。我注意到的一件事是默认情况下它是 private func 而不是 func。如果我去掉 private,我会收到一条警告“在 UIApplicationDelegate 中有一个几乎相似的可选要求”。有人可以向我解释这意味着什么以及 private func 是否与被忽略的方法有任何关系吗?当我在模拟器中运行我的应用程序时,甚至应该调用该方法吗?如果没有,我如何测试在我的应用程序启动后是否正在检索数据? AppDelegate 中的所有其他方法都可以正常调用(例如,applicationDidEnterBackground 方法工作得很好)。

最佳答案

删除您的方法签名并让 Xcode 自动完成它

我还遇到了 AppDelegate 中的 didFinishLaunchingWithOptions 方法不会被调用的问题。我的功能也被标记为私有(private),看起来像这样

private func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool

问题是这是旧语法!显然,当我将我的项目从 Swift 2.x 转换为 Swift 3 时,Xcode 没有转换 AppDelegate 中的方法。新语法看起来像这样

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]? = nil) -> Bool

swift 4.2:

func application( _ application: UIApplication,didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool

关于ios - 私有(private)函数 didFinishLaunchingWithOptions 没有被调用? ( swift 3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39888601/

27 4 0
文章推荐: javascript - TinyMCE - 允许文本作为 和/或 的直接子元素