我正在使用以下代码来整合我的Core Data sqlite存储文件,其当前包含数据库本身,-wal和-shm文件。我这样做,所以我可以使用NSFileManager将其作为单个文件进行操作。
NSPersistentStoreCoordinator *tmpPSC = [[NSPersistentStoreCoordinator alloc]
initWithManagedObjectModel...];
NSDictionary *options = @{NSSQLitePragmasOption:
@{@"journal_mode": @"DELETE"}};
NSPersistentStore *persistentStore = [tmpPSC
addPersistentStoreWithType:NSSQLiteStoreType configuration:nil
URL:storeURL options:options error:NULL];
if (persistentStore) {
[tmpPSC removePersistentStore:persistentStore error:NULL];
tmpPSC = nil;
}
然而,在执行上面的代码之后,我看到-wal文件消失了,但-shm文件仍然存在。
知道为什么会这样吗?
答案 0 :(得分:0)
没关系,在这里找到我的答案:
How to save the content of a MOC to a file, with no -wal and no -shm?
可以安全地删除shm文件,这就是我所做的。