调用viewController而不解除它会创建第二个实例吗?

时间:2016-05-30 08:39:53

标签: ios objective-c

我一直在网上搜索,但我似乎无法找到答案。

目前我正在使用presentViewController来启动新的ViewControllers,但在某些视图控制器上我不会忽略它并调用它。我目前没有使用任何导航控制器或类似的东西。

我只是担心如果我通过presentViewController再次调用相同的viewController,那同样的viewController会有2个正在运行的实例。

有可能吗?或者iOS框架是否自动重用了空闲的viewController?

如果是这样,我如何删除空闲视图控制器?

谢谢! (我正在阻止我的问题,试图在网上找到它,所以如果你能指出我正确的方向,那将非常有用,谢谢!)

1 个答案:

答案 0 :(得分:1)

iOS不会重复使用您的视图控制器,您可以通过在viewDidLoad中打印视图控制器轻松自行检查,您会注意到每次调用viewDidLoad,然后所有对象都有不同的地址。

除非您创建了数千个,或者您的应用程序的导航不允许您回到“空闲”视图控制器,但我不会说这是一个问题。 我没有看到任何干净的方法从内存中删除视图控制器而不调用“dismiss”。你可以尝试:
- 使用新数据“刷新”您的视图 - 如果您的应用的工作流程允许此类行为,请使用UIPageViewController之类的内容 - 重新修改导航,以便在调用另一个视图之前解除视图

祝你好运