【发布时间】:2012-06-22 22:29:37
【问题描述】:
我有一个基于UINavigationController 的应用程序。有一个带有按钮的菜单屏幕(推送到导航控制器堆栈)到其他 9 个“子屏幕”之一。这些子屏幕都没有与任何其他屏幕相连。当用户在“子屏幕”上完成输入数据时,他们可以按下完成按钮,该按钮将弹回原始菜单屏幕。 (如果您难以想象这一点,请想象一棵像故事板一样的树,其中有一个根 ViewController,然后是 9 个叶 ViewController)。
好的,对于这个设置,我有几个关于 viewDidLoad 工作原理的问题。
~ 首先,viewDidLoad 应该在我们每次转换到子屏幕时被调用。例如,假设我从菜单屏幕转到子屏幕“B”,然后返回菜单屏幕,然后返回子屏幕“B”。 B 的viewDidLoad 方法应该被调用两次吗?如果没有,为什么我的会被调用两次?
~ 其次,假设每次都会调用它,如果我有很多长的操作需要为每个子屏幕执行一次,我该怎么办?我应该把它们放在哪里(如果我把它们放在viewDidLoad 中,如果用户一直在这个页面和菜单之间来回切换会发生多次)?
【问题讨论】:
标签: objective-c ios xcode model-view-controller