我一直在网上搜索,但我似乎无法找到答案。
目前我正在使用presentViewController来启动新的ViewControllers,但在某些视图控制器上我不会忽略它并调用它。我目前没有使用任何导航控制器或类似的东西。
我只是担心如果我通过presentViewController再次调用相同的viewController,那同样的viewController会有2个正在运行的实例。
有可能吗?或者iOS框架是否自动重用了空闲的viewController?
如果是这样,我如何删除空闲视图控制器?
谢谢! (我正在阻止我的问题,试图在网上找到它,所以如果你能指出我正确的方向,那将非常有用,谢谢!)
答案 0 :(得分:1)
iOS不会重复使用您的视图控制器,您可以通过在viewDidLoad中打印视图控制器轻松自行检查,您会注意到每次调用viewDidLoad,然后所有对象都有不同的地址。
除非您创建了数千个,或者您的应用程序的导航不允许您回到“空闲”视图控制器,但我不会说这是一个问题。
我没有看到任何干净的方法从内存中删除视图控制器而不调用“dismiss”。你可以尝试:
- 使用新数据“刷新”您的视图
- 如果您的应用的工作流程允许此类行为,请使用UIPageViewController之类的内容
- 重新修改导航,以便在调用另一个视图之前解除视图