核心数据服务器同步

时间:2014-06-03 11:22:17

标签: ios core-data

我对核心数据和与服务器同步数据感到困惑。 我写了一个使用Core Data的应用程序,不使用id属性,一切都是用关系设置的。大多数数据都是在设备上生成的,应作为备份发送到服务器。另一方面,有些数据可以在用户之间重复使用,我想控制它,即修改,删除,添加。

问题
在向服务器发送数据时,处理关系的首选方式是什么?在我看来,根据核心数据进行思考,将所有关系对象发送到服务器然后如果它们已经存在于服务器上则处理它们将是非常低效的。那么,使用uniqueId是强制性的吗?在服务器上生成哪些将在设备上共享?还有其他方法吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

假设服务器数据库使用外键,一种常见的解决方案是引入id属性并将它们设置为新对象的某种无效状态。例如,对于新关系,您可以使用负整数生成任意数量的唯一“无效”ID。然后,服务器必须分配新的(服务器唯一的)ID并将它们发送回客户端。当然,从服务器导入数据时,可以用关系替换外键。

因此,如果您有多个设备尝试修改其他用户或设备也使用的数据,则服务器必须是解决方案的一部分。否则,您可以只生成唯一ID,以便服务器可以存储关系。