我有一個導航控制器作爲我的初始視圖控制器。它的根視圖控制器是「StartingViewController」。該視圖控制器由故事板生成。Xamarin在Storyboard中實例化初始導航控制器
自動生成的構造函數是:
public StartingViewController (IntPtr handle) : base (handle)
{
}
然而,當我使用這個構造函數,我得到錯誤「object reference not set to an object
」當我嘗試訪問我的任何網點。例如。
public override void ViewDidLoad()
{
base.ViewDidLoad();
label.Text = "hi";
}
但是像這樣工作得很好:
public override void ViewDidLoad()
{
base.ViewDidLoad();
Console.WriteLine("hi");
}
我試圖用不同的構造函數:
public StartingViewController() : base ("StartingViewController", null)
{
}
對於這一點,我沒有得到一個以前的錯誤,但沒有任何代碼在ViewDidLoad()
中運行,並且它會輸出警告"Ignoring invocation of an instance method on a NULL instance"
。
沒有違法意圖,但這是不好的。我和大多數使用Xamarin的人都不使用XCode。他們使用Xamarin Studio或Visual Studio製作故事板。我們如何解決Xamarin或Visual Studio中的這個問題?當應用程序點擊ViewDidLoad時,通過storybaord創建的所有視圖始終爲空,除非我們完全停止使用故事板,否則這種方法幾乎沒有用處。 –