- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
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/
我是一名优秀的程序员,十分优秀!