如何创建反向实体

时间:2016-03-05 18:13:22

标签: ios swift core-data

我收到错误消息:

  

用于打开商店的模型与用于创建商店的模型不兼容。

我正在尝试创建一个实体:Category,其中包含类别和指向实体中包含模式的不同视图控制器的链接:Clothes,与类别名称相关。我应该将实体Category设为Clothes的父实体吗?当我这样做时,我收到一个错误:

  

Category.dateCreated与从Clothes继承的属性冲突。两个实体都包含名为:dateCreated。

的属性

另外,我如何建立关系:clothes实体= Category中的NSSet?例如:@NSManaged var clothes: NSSet

/ Users / michael / Desktop / Screen Shot 2016-03-05 at 10.09.38 AM.png

/ Users / michael / Desktop / Screen Shot 2016-03-05 at 10.03.29 AM.png

1 个答案:

答案 0 :(得分:0)

您看到的第一个错误是因为您在设备或模拟器上安装应用程序后,您的Core Data模型已更改。如果您从设备/模拟器中删除应用程序并再次运行它,则不会出现该错误。

每次更改模型时,都需要删除应用程序 - 除非您创建模型版本并迁移更改。在应用程序发布之前,您不应该这样做。

如果我理解您的问题,您希望实体CategoryClothes彼此建立关系。 Category可以包含一个或多个Clothes的位置。您无需将Category作为Clothes的父级。

在Core Data模型编辑器中,显示Table视图(右下角的按钮)并在两个实体之间创建 Relationship 。 这会将它们联系在一起。你需要一个逆,所以每个实体都知道另一个。如果Category可以包含一个或多个Clothes个实体,则需要打开右侧的实用程序窗格,并将关系类型设置为 To Many 。这将使您的clothes关系成为NSSet