1

私は Monotouch/Xamarin の例に取り組んでおり、ストーリーボード セグエと Windows Azure Mobile Services (WAMS) 認証をつなぎ合わせようとしています。私はそれぞれ独立して作業していますが、有効な WAMS ログイン後にセグエをトリガーできないようです。DoLogin() 関数でエラーはスローされず、AlertView は機能します。PerformSegue をスキップしているようです。ViewDidLoad() の PerformSegue は正常に動作します。

public override void ViewDidLoad ()
    {
        base.ViewDidLoad ();    

        btn_Facebook.TouchUpInside += (sender, e) => {
            Console.WriteLine("Facebook clicked");
            DoLogin(MobileServiceAuthenticationProvider.Facebook);
        };

        btn_Twitter.TouchUpInside += (sender, e) =>
        {
            Console.WriteLine("Twitter clicked");
            this.PerformSegue("seg_Login", this);
            // DoLogin(MobileServiceAuthenticationProvider.Twitter);
        };
}

private void DoLogin(MobileServiceAuthenticationProvider provider)
    {
        string applicationKey = "[removed]";
        string applicationUrl = "https://[removed].azure-mobile.net/";

        MobileServiceClient client = new MobileServiceClient(applicationUrl, applicationKey);

        var task = client.LoginAsync(this, provider).ContinueWith(t =>
        {
           MobileServiceUser user = t.Result;

           this.BeginInvokeOnMainThread(() =>
           {
               this.PerformSegue("seg_Login", this);

               UIAlertView alert = new UIAlertView("Logged In!", string.Format("Hello user {0}", user.UserId), null, "OK");
               alert.Show();
           });
        });
    }
4

2 に答える 2

0

現在の実装クラスは prepareforseque を実装していますか、それとも文字通りすべてをストーリーボードにプッシュしていますか。prepareforseque を実装し、そこにブレークポイントを置いて、そこまで到達しているかどうかを確認することをお勧めします。

于 2013-10-03T15:12:25.673 に答える