Xamarin released supporto per async
/await
che semplifica davvero lo sviluppo dell'interfaccia utente reattiva nelle piattaforme mobili. Mi piacerebbe approfittarne e aumentare il livello di programmazione del mio codice usando async/attendi roba da ora in poi.C#/MonoTouch: come chiamare un metodo asincrono quando viene creato/visualizzato ViewController
Tuttavia, dato che sono relativamente nuovo per C# e non ho usato async
/await
prima che io sto avendo difficoltà a trovare 'ganci' nel mio codice che posso richiamare async
metodi. So che i gestori di eventi sono i luoghi tipici (dove IOC accade), ma immagino che il seguente scenario:
voglio iniziare sfondo compito quando un ViewController viene caricato (al contrario di quando viene premuto un tasto) .
async Task PerformMyTaskAsync()
{
// ...
await ... // another async API
// ...
}
public override void ViewDidLoad()
{
base.ViewDidLoad();
// .. initialize UI
await PerformMyTaskAsync();
}
Ovviamente non posso attendo per PerformMyTaskAsync
in ViewDidLoad
perché ViewDidLoad
non è né un metodo asincrono né un gestore di eventi.
Qual è l'approccio "alternativo" per avviare un'attività in background quando un controller di visualizzazione carica (o appare, qualunque sia)?
Partenza un webinar da Miguel su Async http://blog.xamarin.com/csharp-async-on-ios-and-android/ –
ho visto dal vivo ieri. Una così grande spiegazione fatta da Miguel, ma che non copre esattamente quello che sto chiedendo. Grazie per il collegamento comunque. –