MonoTouch C# で記述された iOS アプリのスプラッシュ スクリーンで、アプリを実行するために必要なすべてのデータが収集されるまで、いくつかの Web サービスを呼び出しています。これを非同期で行っているため、ユーザーにアクティビティ インジケーターを表示できます。
ただし、コードが非常に乱雑で、これらの呼び出しとコールバックはすべて ViewController にあるように感じます。ViewController が返される結果だけを気にするようにこれを分離する方法が必要ですが、呼び出しが完了するまで ViewController を停止する方法が必要です。
現時点では、私のコードは次のようになります。
protected void FirstServiceCompleted(object sender, FirstServiceCompletedEventArgs e)
{
// Do something
_servicesHelper.GetSecondService(GetSecondServiceCompleted);
}
protected void SecondServiceCompleted(object sender, SeconServiceCompletedEventArgs e)
{
// Do something else
_servicesHelper.GetThirdService(GetThirdServiceCompleted);
}
... etc
舞台裏でこのコードを使用している間に、別のオブジェクトを介して ViewController がイベント引数からデータを取得する方法があると便利です。これらすべての呼び出しの最後に、新しいビューに変更して、このデータが入力されたメインのホーム画面を表示します。しかし、私のViewControllerは非常に肥大化しているようで、このような繰り返しの呼び出しがたくさんあります.
ヘルプやアドバイスをいただければ幸いです。