我已经开始研究iPhone应用程序了,我需要将数据与外部MySQL数据库同步。当前数据库方案使用GUID / UUID字段作为主键来维护表之间的关系。我已经在数据库应用程序和MySQL数据库之间工作了,所以这不是关于同步的问题。
我已经开始沿着使用Core Data的道路前进,但我意识到它在SQLite数据库中使用它自己的架构来维护实体之间的关系。
我是否使用Core Data走错了路?如果不是,如何在Core Data存储和外部数据库之间同步数据并仍保持数据关系?
答案 0 :(得分:3)
您需要做的就是编写将实体从一个db模式转换为另一个模式的逻辑。您可以从服务器获取对象并将它们转换为核心数据对象,并从核心数据中获取对象,并在保存到服务器时将它们转换为mysql实体。真的没有太多困难
答案 1 :(得分:0)
我同意格里福;只需将从mysql数据库中检索的行或实体转换为托管对象(反之亦然)。
如果我理解你正确的想法,我肯定会建议使用核心数据。在MySQL和Core Data之间转换数据并不难,如果你使用NSFetchedResultsController在UITableView中显示你的数据,你几乎不必编写任何代码。
答案 2 :(得分:0)
并且您始终可以保留原始GUID,例如,导入实体的可选外部ID。这样,您就可以更轻松地对数据导入进行故障排除,并将数据与数据存储类型之间的数据相关联。