Xamarin.ios MvvmCross为缓存的ViewModel创建新的ViewController

Xamarin.ios MvvmCross为缓存的ViewModel创建新的ViewController,xamarin.ios,mvvmcross,Xamarin.ios,Mvvmcross,我使用MvvmCross v4.2.3在Xamarin.iOS项目中为我的ViewModels实现了ViewModel缓存。简而言之,我创建了一个自定义ViewModelLocator,用于缓存ViewModels,并在需要时从缓存加载ViewModel 这对虚拟机很有效,因为每个虚拟机只有一个实例被实例化,但问题是每次为特定虚拟机调用ShowViewModel()时,都会实例化一个新的ViewController 这是预期的行为吗?我是否也必须缓存ViewController 这是MvvmCr

我使用MvvmCross v4.2.3在Xamarin.iOS项目中为我的ViewModels实现了ViewModel缓存。简而言之,我创建了一个自定义ViewModelLocator,用于缓存ViewModels,并在需要时从缓存加载ViewModel

这对虚拟机很有效,因为每个虚拟机只有一个实例被实例化,但问题是每次为特定虚拟机调用
ShowViewModel()
时,都会实例化一个新的ViewController


这是预期的行为吗?我是否也必须缓存ViewController

这是MvvmCross中默认演示者的当前行为

您可以通过创建您自己的类来覆盖它,该类继承自
MvxModalNavSupportIosViewPresenter
MvxIosViewPresenter
并覆盖
CreateNavigationController
方法

如果您愿意,您只需在该方法中返回缓存的
ViewController