MvvmCross V5 ViewModel生命周期

时间:2017-11-01 17:40:12

标签: xamarin mvvmcross lifecycle

我正在考虑从MvvmCross的版本4升级到版本5,我对ViewModel生命周期有几个问题。

我熟悉V4生命周期,(构造,初始化,重新加载状态和开始)但不确定它们如何映射到V5

我的问题是:

  1. 我理解准备和初始化,但哪一个等同于Start()?

  2. V5 ViewModel生命周期中SaveStateReloadState方法是否仍然可用?它会像以前一样工作吗?如果没有,我该如何管理呢?

1 个答案:

答案 0 :(得分:1)

在旧版本的MvvmCross中,我们设置了Init来设置变量,Start用于执行更重(可能是异步)的工作。 Start是一个void方法,可以变成async void,这根本就不好。

现在,较新的版本有Prepare用于以静态类型方式处理传递的参数,Initialize用于运行异步代码,顾名思义,初始化ViewModel。这些是IMO,比以前的方法更好地命名和客观地更好地工作。

关于第二个问题,即使使用new navigation service,SaveState和ReloadState仍可正常工作。

如有疑问,请阅读migration guideViewModel lifecycle docs