2017-02-14 40 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