2012-01-30 106 views
0

决定在哪里放置一些初始化代码。似乎有两个地方我们通常可以选择:... LaunchingWithOptions和viewDidLoad。应用程序:didFinishLaunchingWithOptions和viewDidLoad

想问一下在两者之间进行选择的权衡是什么。

此外,还有其他地方,我们应该考虑为此目的?还有内存使用情况 - 如果在内存不足的情况下正在将内存换出内存,我们是否需要担心viewDidLoad中的初始化? (例如,用户在此过程中可能会丢失任何输入...)

+0

取决于你想要达到的目标。你有更多的细节吗?一般来说:将代码放置在它所属的类中。 – Mark 2012-01-30 10:54:12

+0

我认为这取决于需求,如果初始化是针对完整应用的,那么在launchingWithOptions中做的更好。如果仅用于视图,请在ViewDidLoad中执行.. – vishy 2012-01-30 10:55:52

回答

4
didFinishLaunchingWithOptions 

属于AppDelegate。通常,应用程序本身在此处创建并初始化时,终生需要的对象。 Here是AppDelegate的生命周期。

viewDidLoad 

属于任何ViewController,ViewController生命所需的对象在这里创建并初始化。 Here是View Controller的生命周期。其他需要考虑的方法是

  • init
  • initWithNibName: bundle:

所以它取决于物体的性质。

+0

感谢您的答案和链接,它们非常有用... – Stanley 2012-01-30 11:28:44

相关问题