У меня есть приложение Mvvmcross, у которого есть TableViewController в корне. Каждая строка открывает DetailViewController. И внутри каждого из них вы можете редактировать его в EditViewController.Жизненный цикл в MvvmCross
У меня есть ViewModel для каждого вида. Я имею дело с двумя проблемами здесь:
1) В DetailViewController я подписал его на сообщение базы данных. Когда я закрываю его, я должен распорядиться этим подписчиком. Поэтому мне нужно было бы вызвать это, когда DetailViewController будет уничтожен. Но не могу называть его, когда он исчезает, потому что, когда я открываю editViewController, он отправит сообщение, которое должен прослушать DetailViewController.
Поэтому я не могу распоряжаться им в методе ViewDidDisappear. Но другой вариант будет в ViewDidUnload. Но этот метод вызывается только в MemoryWarnings. Таким образом, он не утилизирует токен. Это не хорошо .
2) Другая проблема: для каждого элемента управления DetailsView, который я открываю, мне нужно сохранить в настройках, что такое текущий идентификатор. а затем, когда я ухожу, я должен удалить его из настроек. Так та же проблема здесь. Если я удалю его в ViewDidDisappear, он удалит, когда я нахожусь в EditViewController, и я не могу его установить. Но если я удалю только в ViewDidUnload, он не будет вызываться, и эта переменная должна быть удалена.
Когда я должен вызвать метод OnDestroy для обоих случаев?
В Android я звоню в OnDestroy. Где я должен позвонить в iOS?
Спасибо, что касается