2

当我尝试将我的数据模型从旧迁移​​到新时,我遇到了一些问题。几个星期以来,我一直在网上搜索并试图找到解决此问题的方法,但仍然没有运气。

这是我的数据模型之前的样子:

A <<--->> B
  <<--->> C

之后:

A <<---> B
  <<---> C

如您所见,实体 A 到 B 和 A 到 C 之间的关系从多对多关系变为多对一。问题是让迁移工作。如果我尝试使用轻量级迁移,我会在控制台中得到它(以及许多其他东西):

不能从一对多映射到一对一关系。

在考虑文档时,这是有道理的。所以我猜测我需要使用映射模型和自定义迁移策略来处理关系更改。如果我使用自动生成的映射模型,我只会收到“未解决的错误”,并且在日志中大约一半时,它说找不到要迁移的映射模型。我假设这就像一个通用的错误描述,因为对模型的微不足道的更改(即更改某些东西的名称)有效(这意味着它确实可以找到映射模型)。所以我的问题是:如何让映射模型正确迁移商店?你能描述一下我需要做什么来完成这个吗?我猜我需要使用这种方法:

- (BOOL)createRelationshipsForDestinationInstance:(NSManagedObject *)dInstance entityMapping:(NSEntityMapping *)mapping manager:(NSMigrationManager *)manager error:(NSError *__autoreleasing *)error

在自定义策略中,但是在此方法中我需要什么代码才能使其工作(如果您甚至可以对其进行概括)?

顺便说一句,我使用的是 Xcode 4.3.2,这个应用程序的最低 iOS 要求是 iOS 5。

在此先感谢您的帮助。

4

0 回答 0