Xamarin released Unterstützung für async
/await
, was die Entwicklung von Responsive UI in mobilen Plattformen wirklich vereinfacht. Ich möchte davon profitieren und die Programmierstufe meines Codes erhöhen, indem ich ab jetzt async/awarts-Sachen verwende.C#/MonoTouch: So rufen Sie eine Async-Methode auf, wenn ein ViewController erstellt wird/erscheint
Da ich aber zu C# relativ neu bin und nicht async
/await
verwendet, bevor ich Mühe, mich zu ‚Haken‘ in meinem Code zu finden, die ich async
Methoden aufrufen kann. Ich weiß, dass Event-Handler die typischen Orte sind (wo IoC geschieht), aber stellen Sie sich das folgende Szenario vor:
Ich möchte Hintergrund-Task starten, wenn ein Viewcontroller geladen wird (im Gegensatz zu Gegensatz, wenn eine Taste gedrückt wird) .
async Task PerformMyTaskAsync()
{
// ...
await ... // another async API
// ...
}
public override void ViewDidLoad()
{
base.ViewDidLoad();
// .. initialize UI
await PerformMyTaskAsync();
}
Natürlich kann ich nicht für PerformMyTaskAsync
in ViewDidLoad
erwarten, weil ViewDidLoad
weder ein asynchrones Verfahren ist noch ein Event-Handler.
Was ist der "alternative" Ansatz zum Starten einer Hintergrund-Task, wenn ein View-Controller geladen wird (oder erscheint, was auch immer)?
Schauen Sie sich ein Webinar von Miguel auf Async http://blog.xamarin.com/csharp-async-on-ios-and-android/ –
ich es gestern live zu beobachten. Solch eine großartige Erklärung, die von Miguel gemacht wurde, aber nicht genau beschreibt, wonach ich frage. Danke für den Link trotzdem. –