我制作了一个HomeViewModel包含其他一些ViewModel要在 a 中呈现的 s TabParPresenter。这可以正常工作,并且ViewModel相关View的 s 会在其相应的选项卡中正确显示。然而,在ViewModels 中有一个检查ctor,告诉它在某些条件适用时它需要导航到SettingsViewModel,这不是ViewModels 中包含的 s的一部分HomeViewModel。导航事件被 捕获TabBarPresenterHost,这只是Presenter应用程序的 ,如果 aTabBarPresenter存在且不为空,则将其传递给TabBarPresenter.ShowView()方法。所有这些都发生在TabBarPresenter完成加载并SelectedViewController设置在ViewDidLoad. 因此,TabBarPresenter依赖于使用SelectedViewController来推送新View的我显然得到了一个Null Reference Exception.
简而言之,我想要的是:
if (conditionForShowingHome == true)
GoToHome();
else
GoToSettings();
然后,当我在里面SettingsViewModel设置好我需要的东西时,你会返回HomeViewModel。
打破这一点的是,在完成ViewModel加载之前加载了 s,并且在View完成加载之前执行了导航事件View。任何想法如何解决这个问题?