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

被折叠的 条评论
为什么被折叠?



