4

それとも、Core Data が保存操作をいくつかの連続したアトミック ステップに分割している可能性がありますか? 私の仕事では、クラッシュ後にデータベースに再アクセスするときに、すべてが保存されているか、保存操作前の状態にロールバックされていることを確認する必要があります。いくつかの変更された NSObject が保存され、いくつかは保存されなかったというケースがあってはなりません。

注意: 次の SQLite プラグマ オプションを使用しています (アトミック性を確保するために他に必要なものはありますか?)。

[pragmaOptions setObject:@"FULL" forKey:@"synchronous"];
[pragmaOptions setObject:@"1" forKey:@"fullfsync"];
[pragmaOptions setObject:@"WAL" forKey:@"journal_mode"];
4

1 に答える 1

4

はい、Core Data-saveはトランザクション対応です。すべてが保存されるか、何も保存されないかのどちらかです。それは、どの店舗を利用しても同じです。

于 2012-11-04T23:32:17.870 に答える