iphone - 核心数据或 sqlite 或 plist 文件

标签 iphone cocoa-touch sqlite core-data primary-key

我有一种情况,我需要将数据存储在本地(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/

相关文章:

ios - 如何将一个 IBOutlet 连接到容器 View Controller 中的 TableView Controller

iphone - iPhone中的Foursquare api,从twitter和Facebook添加好友,谁能解释一下这个功能吗?

ios - viewForHeaderInSection 在 UITableView 中只被调用一次

ios - NSTextAlignment 枚举 NSTextAlignment 到不同的枚举 UITextAlignment

ios - UISearchBar 取消按钮颜色?

qt - 如何在两个sqlite-内存数据库之间复制?

java - 如何将对象存储到 Android 中的 SQLite 数据库中?

iphone - 将 View 移动到新的 super View 而不闪烁

ios - 在 iOS 上获取 GCM 推送通知注册 token 的正确顺序? GCM 不可靠吗?

Android SharedPreferences 或 SQLite 存储