我有一个 Mvvmcross 应用程序,它在根目录中有一个 TableViewController。每行打开一个 DetailViewController。在其中的每一个中,您都可以在 EditViewController 中对其进行编辑。
所以我为每个视图都有一个 ViewModel。我在这里处理两个问题:
1)在 DetailViewController 我订阅它到数据库消息。当我关闭它时,我必须处理这个 subscribeToken。所以当 DetailViewController 被破坏时,我需要调用它。但是当它消失时不能调用它,因为当我打开 editViewController 时,它会发送一条 DetailViewController 必须听的消息。
所以我不能在 ViewDidDisappear 方法中处理它。但另一个选项是在 ViewDidUnload 中。但是这个方法只在 MemoryWarnings 中调用。所以它没有处理令牌。这是不好的 。
2) 另一个问题是:对于我打开的每个 DetailsViewcontroller,我必须在设置中保存当前 ID。然后当我离开时,我必须将其从“设置”中删除。所以这里同样的问题。如果我在 ViewDidDisappear 中删除它,当我在 EditViewController 中时它会被删除,但我不能,它必须在那里设置。但是,如果我仅在 ViewDidUnload 中删除它将不会被调用,并且必须删除此变量。
我什么时候应该对这两种情况调用 OnDestroy 方法?
在 Android 中,我正在调用 OnDestroy。我应该在 iOS 哪里调用它?
感谢您的问候,