それとも、Core Data が保存操作をいくつかの連続したアトミック ステップに分割している可能性がありますか? 私の仕事では、クラッシュ後にデータベースに再アクセスするときに、すべてが保存されているか、保存操作前の状態にロールバックされていることを確認する必要があります。いくつかの変更された NSObject が保存され、いくつかは保存されなかったというケースがあってはなりません。
注意: 次の SQLite プラグマ オプションを使用しています (アトミック性を確保するために他に必要なものはありますか?)。
[pragmaOptions setObject:@"FULL" forKey:@"synchronous"];
[pragmaOptions setObject:@"1" forKey:@"fullfsync"];
[pragmaOptions setObject:@"WAL" forKey:@"journal_mode"];