我有一种情况,我需要将数据存储在本地(iphone)中,并且相同的数据将在 Web 服务器中以供其他用户访问(例如发送消息)。
对于 Web 服务器部分,我并不担心,我创建了所有表和关系。
但我担心 Iphone 端数据存储和正确同步双方。
这是我想在双方(iphone和网络服务器)中使用A表的示例
消息表:消息 ID(增量主键)、用户 ID c(12) 和消息文本 C(100)
我可以将用户 ID 和消息文本发送到 Web 服务器(通过使用 URL)并从 Web 服务器获取消息 ID 的主键。
现在我的困境是在iphone端或网络服务器数据库中为每个表中的每个记录(将是一个整数)填充唯一ID(主键)?
提前致谢。
斯里达尔
最佳答案
由于您无法控制 CoreData 中的内部键,并且因为 CoreData 需要一个非常特定的模式才能工作,并且您不想直接弄乱 CoreData 的 SQL(它在每一行上都有各种标志) t 记录),您将希望在服务器上使用与 iPhone 不同的数据库模式。
对于唯一 ID,您只需将自己的列添加到 CoreData,并确保在其上添加索引。
如果您要在 iPhone 和 Web 服务器上生成新行,您将需要使用一些方案来确保 key 在两者上都是唯一的 - 最简单的方法是使用 CFUIIDCreate() 生成 UUID 和相关函数,并将其作为字符串存储在表中。
-会
关于iphone - 核心数据或 sqlite 或 plist 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1377599/