私の iOS アプリケーションでは、サーバーがエラーを返すケースを処理する必要があります。Not Found や Timed Out など、処理したいエラーがいくつかあります。
Xamarin と Windows Azure Mobile Services を使用して開発しています。これまでのところ、これらの例外をキャッチする方法はわかっていますが、例外が発生した場合は、ユーザーが更新するために押すことができる更新ボタンを含むビューを表示したいと思います (サーバーに移動して、更新ビューを削除し、新しい情報を表示します)。
これは、サーバーによってスローされた例外をキャプチャする方法です。
public async RefreshAsync(){
try
{
var results = await DailyWorkoutTable.ToListAsync();
wod = results.FirstOrDefault();
SetupUI();
}
catch(Exception e)
{
var ex = e.GetBaseException() as MobileServiceInvalidOperationException;
if(ex.Response.StatusCode == 404)
{
//this is where I need to set up the refresh view and
//and add a UIButton to it
Console.WriteLine("Daily workout not found");
}
}
}
これを達成するための正しい方法はわかりません。UIView を作成してそれに UIButton を追加すると、RefreshAsync を再度呼び出すイベントが発生し、機能しなくなり、最も洗練された方法ではありません。
これに関する別のアプローチはありますか?? 助けてください。