2016-09-23 4 views
0

Я реализовал кеш ViewModel для своих ViewModels в проекте Xamarin.iOS, используя MvvmCross v4.2.3. Короче говоря, я создал собственный ViewModelLocator, который кэширует ViewModels и загружает ViewModel из кеша, когда это необходимо.MvvmCross создает новый ViewController для кэшированного ViewModel

Это хорошо работает для виртуальных машин, поскольку только один экземпляр каждой виртуальной машины когда-либо создается, но проблема в том, что новый экземпляр ViewController создается каждый раз, когда вызывается ShowViewModel() для конкретной виртуальной машины.

Является ли это ожидаемым поведением? Нужно ли кэшировать ViewControllers?

ответ

0

Это текущее поведение в презентаторах по умолчанию в MvvmCross.

Вы можете переопределить это, создав свой собственный класс, который наследует от MvxModalNavSupportIosViewPresenter или MvxIosViewPresenter и переопределяет метод CreateNavigationController.

Если вы предпочитаете это, вы можете просто вернуть кешированный ViewController.

 Смежные вопросы

  • Нет связанных вопросов^_^