核心数据或sqlite或plist文件

问题描述:

我有一种情况,我需要将数据存储在本地(iphone),并且相同的数据将位于Web服务器中以供其他用户访问(例如发送消息)。核心数据或sqlite或plist文件

对于Web服务器的一部分,我不担心,我创建了所有的表和关系。 但我担心Iphone端数据存储和正确同步双方。

下面是我想要如何使用在两侧上的表(iphone和Web服务器)的示例

消息表:消息ID(与增量的主键),用户ID C(12)和消息文本C(100) 我可以将用户标识和消息文本发送到Web服务器(通过使用URL),并从Web服务器获取消息标识的主键。

现在我的困境是填充每个表中的每个记录(将是一个Integer)在iPhone端或在Web服务器数据库中的每个记录的唯一ID(主键)?

谢谢提前。 Sridhar

你可能可以让你的web服务器为你的应用程序生成一个sqlite文件来下载?由于sqlite几乎可用于任何事情,这可能是一个有用的优化;同步将是一个简单的上传/下载文件。

由于您无法控制CoreData中的内部键,并且因为CoreData需要一个非常特定的模式才能工作,而且您不想直接混淆CoreData的SQL(它每个都有各种标志行不是doc文档),你需要在iPhone上的服务器上拥有不同的数据库模式。

对于唯一的ID,您只需要将自己的列添加到CoreData中,并确保在其上引入索引。

如果您要在iPhone和Web服务器上生成新行,您需要使用一些方案来确保这两个键在两者上都是唯一的 - 最简单的方法是使用UUID生成一个UUID CFUIIDCreate()和相关函数,并将其作为字符串存储在表中。

-Wil

+0

谢谢你的回复,我没有在Web服务器,使用一个自动增量列,然后得到Web服务器的举世无双ID和iphone核心数据列填充它。 – 2009-09-21 05:35:34