2011-08-31 242 views
1

我很困惑iPhone应用程序在开始运行时的状态。我的意思是,当我尝试编写应用程序时,我感到困惑,并失去了诸如“viewDidLoad”,“viewDidUnload”,“dealloc”,“applicationDidLoad”等术语。我不知道什么时候先到,哪一个晚些时候一个应用运行。例如,我想添加一个视图(或图片),当应用程序刚打开时显示我的应用程序徽标(就像大多数应用程序所做的一样)。那么,我应该在哪里(viewDidLoad或applicationDidLoad)放入我的代码?iphone应用程序的生命周期?

嗯,这只是一个例子。如果你能告诉我答案,我将不胜感激。但我最关心的是运行应用程序的生命周期,即在哪个状态下调用哪个方法。提前致谢!

回答

2

要开始,你可能想知道:

你的应用程序完成发射后运行的第一个代码,是你把应用程序委托的方法应用的一个中:didFinishLaunchingWithOptions。应用程序代理是设置为接收有关应用程序正在发生的一般通知的类,如完成启动:)

其他类型的应用程序状态或生活中的变化“通知”意见周期是:

-viewDidLoad 
-viewWillAppear:animated: 
-viewDidAppear:animated: 
-viewWillDisappear:animated: 
-viewDidDisappear:animated: 
-viewDidUnload 

这些方法在UIViewController中声明,你可以在UIViewController子类实现它们以自定义在这些情况下一个视图的行为(每一个方法的名字是自我解释)

一个应用程序的生命周期在这里覆盖很好:http://developer.apple.com/library/ios/documentation/iphone/conceptual/iphoneosprogrammingguide/iphoneappprogrammingguide.pdf页面27

关于显示徽标时,应用程序启动,应用程序实现,通过把其名称在Info.plist的属性列表文件,在UILaunchImageFile键设置“扑通”的形象。

+0

难道一个有专门选择在一个人的视图控制器类来实现这些?例如,当我创建一个UIViewController子类时,这些方法默认不包含在内;我只有'viewDidLoad'和'viewDidUnload',但如果我想“自定义视图的行为”,我可以在这些方法中添加? – pasawaya

+0

这本身应该是另一个问题,在这个单独的线程中,这里没有足够的空间来回答:)发布问题并回复这个评论与链接,我会回答你;) –

+0

我其实已经想通了。谢谢。 – pasawaya

相关问题