2017-02-14 10 views
0

値を確認するためにREST APIへのサービス呼び出しを行い、trueの場合は新しいページに移動します。 View Controllerを表示する代わりに、私が接続しているセグを使用したいと思います。Xamarin - オーバーライド機能でのiOS非同期タスク

値をチェックするためのサービスコールは、タスク非同期(async)で、セグエは、(ユーザーがボタンを押したときに)発射しようとしたとき、私はそれを呼び出しています

public override bool ShouldPerformSegue(string segueIdentifier, NSObject sender) 
{ 
    .. run check here, and return true or false to fire the segue 
} 

問題は、C#は私が変更したいということですこのメソッドは非同期のタスクまたは非同期のvoidまたはasyncタスクですが、これはオーバーライドしなくなったため 'オーバーライド'が解除されます。

非同期プログラミングによる呼び出しを処理する正しい方法は何ですか。呼び出しが終了したら、ユーザーを離しますか?

ありがとうございます。

答えて

1

Taskでメソッドを開始しようとすると、終了したらユーザーを離れることができます。

例:

var someTask = Task.Run(async() => 
{ 
    var EventModal = await Method(); 
    await Navigation.PushAsync(Page(EventModal.Stuff)); 
}); 
+0

ありがとうございました!これは正しくありました – NullHypothesis

+0

問題は、あなたがまだ特定のタイミングで間違っているかもしれない何かの非同期を実行しているということです。とにかく避けておくべきである。 – Mittchel