在使用coredata 的时候,需要永久性保存数据, 使用 NSManagedObjectContext 的 sava: 方法来实现。在这个过程中发现有时候不能保存,于是乎花了一些时间来解决它。
总结在保存的时候遇到问题的解决办法:
1、使用了多个线程操作同一个 NSManagedObjectContext对象
最好是每个线程用一个NSManagedObjectContext对象
2、NSManagedStoreCoordinator 有缓存数据,需要重新填充
[managedObjectContext setStalenessInterval:0.0]; //强制性从磁盘装载
3、NSManagedObjectContext 合并政策失败的核心数据是无法完成合并
[managedObjectContext setMergePolicy:NSMergeByPropertyObjectTrumpMergePolicy];//设置上下文对象合并
4、数据库的路径问题
检查数据库路径是否正确
5、更新了数据库结构
需要从模拟器或真机上删除项目,并clean 重新编译
6、存储的类型和数据库中定义的类型不匹配问题