我使用MvvmCross v4.2.3在Xamarin.iOS项目中为我的ViewModel实现了一个ViewModel缓存。简而言之,我创建了一个自定义ViewModelLocator来缓存ViewModel,并在需要时从缓存中加载ViewModel。
这适用于VM,因为每个VM只有一个实例被实例化,但问题是每次为特定VM调用ShowViewModel()
时都会实例化一个新的ViewController。
这是预期的行为吗?我是否还要缓存ViewControllers?
答案 0 :(得分:0)
这是MvvmCross默认演示者中的当前行为。
您可以通过创建自己的类来覆盖此类,该类继承自MvxModalNavSupportIosViewPresenter
或MvxIosViewPresenter
并覆盖CreateNavigationController
方法。
如果您愿意,可以在该方法中返回缓存的ViewController
。