ストーリーボード上の別のViewControllerからラベルのテキストを設定しようとすると、NullPointerExceptionが発生します。
System.NullReferenceException: Object reference not set to an instance of an object
ラインで UIApplication.Main(args, null, "AppDelegate");
両方のViewControllerが同じクラスを使用しています。 これは私のコードです:
async partial void LoginBtn_TouchUpInside(UIButton sender) { loadingIndicator.StartAnimating(); var uname = username.Text; var pwd = password.Text; Uri loginUri = new Uri($"http://<loginapi>:8080/api/login?user={uname}&pwd={pwd}"); WebClient c = new WebClient(); string[] userinfo = parseJsonToArray(await c.DownloadStringTaskAsync(loginUri)); welcomeLabel.Text = "Welcome, " + userinfo[0]; //index 0 of userinfo contains the user"s full name. loadingIndicator.StopAnimating(); PerformSegue("loggedInSegue", this); }
コンソールにログを記録して正しい情報を取得していることを確認しました。welcomeLabel.Textの部分をコメントアウトすると、他のすべてが完全に正常に機能します。
回答:
回答№1は2VisualStudioまたはXamarinStudioですべての例外を有効にして、null参照を含む行で中断できるようにすることができます。これをチェックして、すべての例外を有効にします http://www.stefandevo.com/2015/12/20/xamarin-studio-tip-break-on-all-exceptions/