我製作了一個HomeViewModel
,其中包含一些其他ViewModel
,將顯示在TabParPresenter
中。這工作正常,並且ViewModel
的關聯View
s正確地顯示在其相應的選項卡中。然而,在ViewModel
上有ctor
的支票,它在某些條件適用時告訴它,它需要導航到SettingsViewModel
,這不是HomeViewModel
中包含的ViewModel
的一部分。 導航事件被TabBarPresenterHost
捕獲,這僅僅是應用程序的Presenter
,如果TabBarPresenter
存在且不爲空,則將其傳遞給TabBarPresenter.ShowView()
方法。所有這些都在TabBarPresenter
完成加載之前發生,SelectedViewController
設置在ViewDidLoad
之前。因此TabBarPresenter
依靠使用SelectedViewController
推新的View
s我顯然得到了Null Reference Exception
。使用TabBarPresenter的ViewModel導航
總之我要的是:
if (conditionForShowingHome == true)
GoToHome();
else
GoToSettings();
然後當內SettingsViewModel
我已經設置回去當您返回到HomeViewModel
我需要的東西。
這是什麼突破是s在View
完成加載之前被加載,導航事件在View
完成加載之前執行。任何想法如何去解決這個問題?
也許我應該補充的是,TabBarController是拆出來Cirrious會議樣品。 – Cheesebaron