1. ホーム
  2. iphone

[解決済み] iPhone Core Data "Production "エラー処理

2023-05-26 21:31:32

質問

Apple が提供するサンプルコードで、Core Data エラーをどのように処理すべきかについて言及されているのを見かけました。すなわち

NSError *error = nil;
if (![context save:&error]) {
/*
 Replace this implementation with code to handle the error appropriately.

 abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development. If it is not possible to recover from the error, display an alert panel that instructs the user to quit the application by pressing the Home button.
 */
    NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
    abort();
}

しかし、どのように を行う必要があります。 を実装する例はありません。

どなたか、上記の方法を説明する実際の "production" コードを持っている (または、その方向を示すことができる) 方はいらっしゃいますか。

前もってありがとうございます。 マット

どのように解決するのですか?

アプリケーションとエラーの発生場所に100%依存するため、誰もプロダクションコードをお見せすることはできません。

個人的には、このエラーの99.9%は開発中に発生しそうなので、assert文を入れて、そこで修正すると 非常に というのも、99% の場合、このエラーは開発で発生し、そこで修正しても、本番でそれを見ることはまずないからです。

アサートの後、私はユーザーにアラートを表示し、回復不可能なエラーが発生したことと、アプリケーションが終了することを知らせます。 また、開発者に連絡するよう依頼する文章をそこに置くことができ、うまくいけばこれを追跡できます。

その後、私は abort() を残して、アプリを "crash" してスタック トレースを生成します。