核心数据未保存在.sqlite文件中

时间:2012-09-21 21:51:20

标签: ios core-data

我正在将核心数据实施到现有项目中。

当应用程序第一次运行时,会创建sqllite数据库,但是当我尝试通过调用[managedObjectContext save:]来插入数据时,没有任何反应。我甚至没有收到错误。

我检查了sqllite文件的时间戳。它没有得到更新。 请帮忙。

3 个答案:

答案 0 :(得分:0)

我经常遇到类似的问题,原因是我忘记了.sql文件已经创建,并且它没有覆盖,如果我更改了.sql结构,我在模拟器或设备中再次卸载和安装然后它工作正常。

答案 1 :(得分:0)

假设您的sqlite数据库是在/ documents文件夹中创建的。

CoraDataEntity *entity = (CoraDataEntity *)[NSEntityDescription insertNewObjectForEntityForName:@"CoraDataEntity" inManagedObjectContext:context];

NSError *error = nil;

if(![managedObjectContext save:&error]){

    NSString* msg = [NSString stringWithFormat:@"Unresolved error saving core data context: %@, %@", error, [error userInfo]];
    NSLog(@"%@",msg);

}

答案 2 :(得分:0)

尝试复制回滚文件,然后在主文件上运行sqlite3。 不要只使用.sqlite文件,还要复制.sqlite-shm和.sqlite-wal。