我有些清理,需要在共享资源的任何时间我的视图控制器之一进行辞退/弹出/卸载?这可以是当用户点击该单独屏幕上的后退按钮或者如果对popToRootViewController进行调用(在这种情况下,我理想地能够清除每个被弹出的控制器)。你可以检测何时UIViewController已被解散或弹出?
明显的选择将在viewDidUnload中这样做,但当然,这不是卸载的工作方式。有没有办法将所有情况都捕获到ViewController从堆栈中移除的位置?
编辑:忘了提,我做这个使用Xamarin,这样可能会或可能不会影响到答案。
此共享资源创建的地点/时间?需要做什么样的清理?而确实,当在应用程序中的任何视图控制器驳回做这方面的需求,或者只在特定视图控制器类的实例后果? – rmaddy 2014-10-27 18:53:29
@rmaddy:在加载资源添加到ViewController。清理是资源上内部方法的一部分,它执行多个我不清楚的事情,但它应该被调用。它需要被称为每个单独的控制器被解雇。如果我回到屏幕上,该屏幕将需要调用该方法对资源的引用。如果我有4个屏幕深度并且调用popToRootViewController,那么弹出的3个屏幕都需要调用该方法。 – cain 2014-10-27 19:04:03
然后'dealloc',由@SteveMadsen提到的,可能是最好的地方。 – rmaddy 2014-10-27 19:06:38