Xamarin发布了对async
/的支持,await
它真正简化了移动平台中响应式 UI 的开发。从现在开始,我想利用它并通过使用 async/await 来提高我的代码的编程水平。
但是,由于我对 C# 比较陌生,并且在我无法在我的代码中找到可以调用方法的“钩子”之前没有使用过async
/ 。我知道事件处理程序是典型的地方(发生 IoC 的地方),但想象一下以下场景:await
async
我想在加载 ViewController 时启动后台任务(而不是在按下按钮时)。
async Task PerformMyTaskAsync ()
{
// ...
await ... // another async API
// ...
}
public override void ViewDidLoad ()
{
base.ViewDidLoad ();
// .. initialize UI
await PerformMyTaskAsync ();
}
显然我不能等待PerformMyTaskAsync
inViewDidLoad
因为ViewDidLoad
既不是异步方法也不是事件处理程序。
当视图控制器加载(或出现,无论如何)时启动后台任务的“替代”方法是什么?