或者可能是 Core Data 将保存操作拆分为几个连续的原子步骤?对于我的工作,我必须确保在崩溃后重新访问数据库时,要么所有内容都已保存,要么我已回滚到保存操作之前的状态。我不能有一些修改过的 NSObject 被保存但有些没有的情况。
注意:我正在使用以下 SQLite pragma 选项(我需要任何其他选项来确保原子性吗?):
[pragmaOptions setObject:@"FULL" forKey:@"synchronous"];
[pragmaOptions setObject:@"1" forKey:@"fullfsync"];
[pragmaOptions setObject:@"WAL" forKey:@"journal_mode"];