Ich habe diesen Beitrag von Stuart Logde gelesen, wie man das ViewModel killt, wenn die Ansicht verschwindet.Wird MvvmCross ViewModel in der iOS-Ansicht gelöscht?
http://slodge.blogspot.dk/2013/11/n42-is-my-viewmodel-visible-can-i-kill.html
Ich habe eine komplexe ViewPresenter wo ich manchmal ein Viewcontroller mit einem UINavigationController modal präsentieren und dann die Navigation innerhalb dieser ermöglichen. Sobald ich in einen anderen ViewController navigiert bin und Done gedrückt habe, verlasse ich den gesamten UINavigationController und alle ViewControllers. Der ViewWillDisappear wird in anderen Ansichten als dem obersten nicht aufgerufen, da sie bereits verschwunden sind, daher brauche ich einen anderen Mechanismus.
Wäre es falsch, einen Ansatz wie den folgenden in MvxViewController auf iOS zu folgen?
Dies ist mehr wie der normale Dealloc-Ansatz in iOS, wo man sich oft von der Beobachtung anderer Objekte abmeldet.
Wenn Sie den ViewPresenter zur Präsentation der Ansichten verwenden, verwenden Sie ihn auch, um ihn zu entsorgen. – Pilatus
Ich hatte den Eindruck, dass Sie in Xamarin nicht Dispose manuell auf Ihren Ansichten aufrufen, lassen Sie den GarbageCollector dies tun. Wie auch immer die Dispose-Methode in der View aufgerufen wird, meine Frage ist mehr, ob es in Ordnung ist, das ViewModel von der Dispose-Methode aufzurufen und das ViewModel anmeldet, EventMapper etc. abzumelden, damit auch das ViewModel disponiert wird. – dynamokaj