Objective-C – 从iOS 4到iOS 5的应用启动方法的差异?
发布时间:2020-12-14 19:06:25 所属栏目:百科 来源:网络整理
导读:我最初为iOS 4开发了我的应用程序,现在iOS 5已经出来我决定开发iOS 5 SDK,现在似乎打破了我的应用程序. 我有一个标签栏应用程序,每个选项卡中都有一个导航控制器. 在iOS 4中,-application:didFinishLaunchingWithOptions:方法中的所有内容在启动后首先执行
我最初为iOS 4开发了我的应用程序,现在iOS 5已经出来我决定开发iOS 5 SDK,现在似乎打破了我的应用程序.
我有一个标签栏应用程序,每个选项卡中都有一个导航控制器. 在iOS 4中,-application:didFinishLaunchingWithOptions:方法中的所有内容在启动后首先执行.执行该方法后,加载了第一个选项卡的视图控制器. 因此,当我记录我的启动应用程序进程(运行iOS 4.3的模拟器)时,它看起来像这样: -[AcandoAppDelegate application:didFinishLaunchingWithOptions:] [Line 35] didFinishLaunchingWithOptions method running -[AcandoAppDelegate application:didFinishLaunchingWithOptions:] [Line 60] This should be executed first // And it does as it should -[AcandoAppDelegate applicationDidBecomeActive:] [Line 254] applicationDidBecomeActive method running -[SeminarsViewController viewDidLoad] [Line 58] 2 - viewDidLoad method running -[SeminarsViewController viewDidLoad] [Line 60] This should be executed second // Also as it should -[SeminarsViewController viewWillAppear:] [Line 123] 3 - viewWillAppear method running -[SeminarsViewController viewDidAppear:] [Line 173] viewDidAppear running 现在,当我记录我的启动应用程序进程(运行iOS 5.0的模拟器)时,它看起来像这样: -[AcandoAppDelegate application:didFinishLaunchingWithOptions:] [Line 35] didFinishLaunchingWithOptions method running -[SeminarsViewController viewDidLoad] [Line 58] 2 - viewDidLoad method running -[SeminarsViewController viewDidLoad] [Line 60] This should be executed second // So this should be executed second but is executed first -[SeminarsViewController viewWillAppear:] [Line 123] 3 - viewWillAppear method running -[AcandoAppDelegate application:didFinishLaunchingWithOptions:] [Line 60] This should be executed first // And this is executed second but should be executed first -[AcandoAppDelegate applicationDidBecomeActive:] [Line 254] applicationDidBecomeActive method running -[SeminarsViewController viewDidAppear:] [Line 173] viewDidAppear running 我错过了一些明显的东西吗?对我来说,看起来我们在iOS 4和iOS 5之间有两种不同的启动情况? 解决方法
为什么您的应用程序的成功启动取决于这些事件的特定顺序?在上面的那些序列中应该没有任何内容导致您发布,您的代码应该忘记确切的底层启动序列.
你能否提供一些代码来解释为什么这会导致你出现问题? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |