Restkitのオブジェクトマネージャーを使用して、リモートAPI呼び出しのかなりの部分を処理しています。
さまざまなエラーに対してNSAssertをスローします。たとえば、サーバーが整形式のJSONではなくエラーページを返す場合、コードに問題がない場合でも、NSAssertが発生します。
私が混乱していることがいくつかあります(そのほとんどは、例外とnsassertの一般的な処理に関係しています)。
これらのNSAssertsエラーをどのように処理する必要がありますか?たとえば、数回再試行してから、(アプリケーションをクラッシュさせるのではなく)「何か問題が発生しました」というメッセージを表示したいとします。
catch-tryブロックを使用してエラー(以下のコード)をキャッチしようとしましたが、エラーがキャッチされていません。だから私のアプリは失敗し続けます。さらに、とにかくリリースモードでtry-catchを使用するのは苦手です。
私の理解のために、Restkitが他の失敗ではなくNSAssertsを使用するのはなぜですか?
コード:
// code to catch NSAssert that sharedManager throws
@try{
[sharedManager loadObjectsAtResourcePath:self.resourcePath delegate:self];
}
@catch (NSException *ex) {
NSLog(@"exception caught");
}