Edu*_*lho 9 c# xamarin.ios async-await xamarin
Xamarin 发布了对async/的支持,await它真正简化了移动平台中响应式UI的开发.我想利用它并从现在开始使用async/await东西来提高代码的编程水平.
但是,由于我对C#比较新,并且在我无法在我的代码中找到'hooks'之前没有使用async/ await我可以调用async方法.我知道事件处理程序是典型的地方(IoC发生的地方),但想象一下以下场景:
我想在加载ViewController时启动后台任务(而不是按下按钮时).
async Task PerformMyTaskAsync ()
{
// ...
await ... // another async API
// ...
}
public override void ViewDidLoad ()
{
base.ViewDidLoad ();
// .. initialize UI
await PerformMyTaskAsync ();
}
Run Code Online (Sandbox Code Playgroud)
很显然,我不能等待为PerformMyTaskAsync在ViewDidLoad因为ViewDidLoad既不是异步方法,也不是事件处理程序.
当视图控制器加载(或出现,无论如何)时,启动后台任务的"替代"方法是什么?
kwc*_*cto 18
最新的Xamarin稳定通道版本支持ViewController生命周期方法的Async/Await重载.尝试:
public async override void ViewDidLoad()
Run Code Online (Sandbox Code Playgroud)