谷歌搜索,但到目前为止没有运气。在我开始使用 Storyboards 之前,我有几个使用多个视图控制器的应用程序。当返回到某个 viewController(通过关闭子 viewcontroller)时,我会发现我的原始(或根)viewcontroller 完好无损。现在我正在尝试故事板,似乎我的 rootViewController 不时重新加载,丢失所有数据并从 viewDidLoad 重新启动。我认为这发生在从一个视图控制器到另一个视图控制器的转换之间。例如,从 rootViewController,我提出了另一个视图控制器。当我关闭其他视图控制器以返回 rootViewController 时,它看起来重新加载并且是全新的。它只是有时会发生,也许是当操作系统发出内存警告时。
这是正常的吗?
从我看过的所有教程中,他们说如果使用 Storyboards 保留委托方法“applicationDidFinishLaunchingWithOPtions”几乎完好无损(而在我的旧应用程序中,我会在这里做一些 viewcontroller alloc。我尝试了以下方法,但没有成功:
// in didFinishLaunchingWithOptions of delegate.m
[self.window.rootViewController retain]
不工作。我的主视图控制器仍然不时被释放/重新加载
// in my viewDidLoad of viewcontroller.m
[self retain];
也没有工作
我是否必须在委托文件中声明和分配 viewController,然后将其分配给 rootViewController?我尝试了类似的方法,但崩溃了,也许做得不对。
谢谢?