我第一次在我的一个项目中使用CoreData
。我的表格涉及FOREIGN KEYS
,由于CoreData
不支持FOREIGN KEYS
,我遇到了一些问题。
以下是我的表格的结构。
我的问题是establishment
属性。建立属性应该保存Facilities
表中特定设施的名称。但是,由于它是一种关系,Xcode
需要Facility
而不仅仅是设施名称(NSString
)。
这可能,或者我只是在FOREIGN KEYS
中将RELATIONSHIPS
与CoreData
混在一起?我该如何解决这个问题?
提前致谢。
答案 0 :(得分:0)
关系不属性,因此它没有类型。在模型编辑器中,您可以显式添加关系。
从图中,我看到你没有设置反比关系。需要存在从name
到Assessors
实体的对应关系。 (在模型编辑器中将"目的地"设置为Assessors
。)
我还建议重命名一些项目。
首先,使用单数:Assessor
,Facility
。这些是对象(与类相比),而不是表。
其次,因为您的name
属性引用了评估者,所以将其称为assessor
,并类似地调用其反向关系facilities
(这是这个方向上的多对多关系,所以复数是合适的)。
如果您需要设施评估员的姓名,请使用
facility.assessor.name
这应该很明显为什么你不需要外键。实际上,我会敦促您认为核心数据不支持外键,但传统的关系数据库不支持关系!