Iphone 在iOS应用程序中同步核心数据数据库

Iphone 在iOS应用程序中同步核心数据数据库,iphone,core-data,core-data-migration,Iphone,Core Data,Core Data Migration,我对核心数据迁移有疑问 假设我有一个应用程序,它在表a中有一些预定义的值。我想将它与另一个数据库、表B同步,以便在将新记录添加到表B时,该记录应添加到我的表a中 我知道使用核心数据迁移,当我向表中添加列时,我将能够在添加列之前访问以前存储在旧表中的值 我想知道如何使用另一个表上添加的记录更新我的表 更新: 以下评论: 我心中的问题是。。。 我想发布我的系统的更新 应用程序。我被困在如何更新 现有的核心数据数据库 存储用户输入的数据。所有我 需要做的是更新几个 记录并保存当前用户 数据。我该怎么做

我对核心数据迁移有疑问

假设我有一个应用程序,它在表a中有一些预定义的值。我想将它与另一个数据库、表B同步,以便在将新记录添加到表B时,该记录应添加到我的表a中

我知道使用核心数据迁移,当我向表中添加列时,我将能够在添加列之前访问以前存储在旧表中的值

我想知道如何使用另一个表上添加的记录更新我的表

更新:

以下评论:

我心中的问题是。。。 我想发布我的系统的更新 应用程序。我被困在如何更新 现有的核心数据数据库 存储用户输入的数据。所有我 需要做的是更新几个 记录并保存当前用户 数据。我该怎么做


核心数据不是SQL。实体不是表。对象不是行。列不是属性。核心数据是一个对象图管理系统,它可以持久化对象图,也可以不持久化对象图,还可以在后台使用SQL来持久化对象图。试图用SQL术语来理解核心数据会导致您完全误解核心数据,并导致很多悲伤和浪费时间

那就是疯狂

听起来您实际上不想迁移,因为核心数据中使用了这个术语。核心数据中的迁移意味着从数据图的持久存储的早期版本迁移到数据图的较新版本

例如,在1.0版本中,您有一个实体
Person
,其属性为
firstName
lastName
。应用程序发布后,您希望更新到2.0版本,并向
个人
实体添加
电话号码
属性。您可以使用迁移将用户现有的对象图和持久存储更新为新的对象图


如果“表”实际上是指实体,那么您可以在关系中将实体链接在一起,以便它们可以相互监视。如果“表”是指数据模型或持久存储,那么答案就更复杂了。可以使用配置、获取的属性、UUID等来完成,但在跳过所有这些障碍之前,您必须了解真正需要做什么

@TechZen。。谢谢你的回答。。我对我的问题一点也不清楚。我心中的问题是。。。我想发布我的应用程序的更新。我一直在想如何更新现有的核心数据数据库,该数据库也存储用户输入的数据。我所需要做的就是更新一些记录并保存当前的用户数据。如何做到这一点?请参阅《核心数据编程指南》中的迁移主题。听起来,除了自动迁移功能之外,您可能不需要其他任何东西,也就是说,如果您提供新型号,核心数据将自动升级存储。如果您需要更复杂的东西,迁移API可以做任何事情。@TechZen。。。谢谢你的回复。因此,如果我使用迁移API,它会自动解决我的问题,对吗?在简单的情况下,例如添加属性,自动迁移通常会起作用。但是,有一个完整的迁移子API,可以让您控制整个迁移,而不管迁移有多复杂。自动迁移处理大多数情况。苹果文档解释了它处理什么和不处理什么。