2017-02-14 42 views
0

我想對REST API進行服務調用以檢查值,如果爲true,則將用戶轉到新頁面。我不想呈現視圖控制器,而只想使用我已經連線的賽格。Xamarin - 覆蓋函數中的iOS異步任務

服務調用來檢查值是異步任務,而當SEGUE試圖觸發(當用戶按下按鈕)

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

的問題是,C#要我修改我叫它這種方法是異步任務或異步無效或異步任務,但打破了'重寫',因爲我不再重寫。

使用異步編程處理呼叫的正確方法是什麼?然後一旦呼叫結束,將用戶帶走?

非常感謝。

回答

1

您可以嘗試在Task開始您的方法,並在完成後將用戶帶走。

例子:

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

謝謝!這是正確的 – NullHypothesis

+0

問題在於你仍然執行某種異步操作,可能會在某個時間出錯。無論如何應該避免在應該執行服務呼叫時。 – Mittchel