我有一个使用coredata的应用,但是当我意外地从不同位置打开应用2次时,我在尝试关闭应用时收到了“无法合并数据”的错误消息。
如何阻止其他应用开启? 或者有没有办法合并信息? 谢谢, 何
答案 0 :(得分:0)
Core Data缺少并发锁定,因此您不能让两个应用程序同时访问同一个商店文件。核心数据不是数据库系统,而是一个对象图管理系统,为模型 - 视图 - 控制器设计应用程序提供模型层。如果你试图像数据库系统一样使用它,你会感到悲伤。
您描述的问题的通常解决方案是创建一个库目录,其中包含应用程序的每个实例的子目录,并将每个实例的存储放在其自己的专用目录中,这样就不会出现问题。
您可以使用Core Data构建一个小型服务器,以合理有效的方式为其他进程提供分布式对象。如果您有多个进程都需要相同的持久存储,那么这将是您最好的选择。
有关如何执行此操作的示例,请参阅Marcus S. Zarra's Core Data book。