我制作了一个HomeViewModel
包含其他一些ViewModel
要在 a 中呈现的 s TabParPresenter
。这可以正常工作,并且ViewModel
相关View
的 s 会在其相应的选项卡中正确显示。然而,在ViewModel
s 中有一个检查ctor
,告诉它在某些条件适用时它需要导航到SettingsViewModel
,这不是ViewModel
s 中包含的 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
。任何想法如何解决这个问题?