【发布时间】:2015-07-30 23:51:03
【问题描述】:
我开始学习 iOS,我有一个问题:当我启动项目时,应用程序将加载所有视图控制器还是只加载 Main.storyboard 中的初始视图控制器?
如果我的应用程序有很多视图控制器,例如 50 个 VC,我想检查一次加载 50 个 VC 或在我调用时加载每个 VC,例如:
UIStoryboard *sb = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
UIViewController *vc = [sb instantiateViewControllerWithIdentifier:@"myViewController"];
vc.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentViewController:vc animated:YES completion:NULL];
经过研究并询问了一些朋友,我在Apple doc中看到:
主情节提要在应用的信息属性列表中定义 文件。如果在这个文件中声明了一个主故事板,那么当你的 应用启动后,iOS 会执行以下步骤:
- 它会为您实例化一个窗口。
- 它加载主情节提要并实例化其初始视图控制器。
- 它将新的视图控制器分配给窗口的 rootViewController 属性,然后使窗口在 屏幕。
【问题讨论】:
-
只是初始视图控制器.. 它会在您继续操作时加载其他视图控制器!
-
为什么不自己检查一下呢?欢迎来到堆栈溢出,请阅读此stackoverflow.com/help/how-to-ask
-
请学习术语:延迟加载。
-
@holex: 在这个 url:stackoverflow.com/questions/9161722/…,可以从 Xib 文件加载另一个视图,我知道,但我正在考虑使用 Xib 或在 Main.storyboard 中使用 ContainerView,有什么偏好和原因?
-
你已经尝试过什么?也许您可以向我们展示您以前做过的事情:mattgemmell.com/what-have-you-tried。通常会在需要时加载视图。如果您有一个固定编号为
UIViewControllers的菜单,您可以在开始时执行此操作。
标签: ios cocoa-touch storyboard