Core data 是否可以动态获取所有实体关系?

Core data 是否可以动态获取所有实体关系?,core-data,xcode9,swift4,Core Data,Xcode9,Swift4,使用Xcode 9 swift 4,是否可以动态获取实体的所有关系?我似乎找不到任何示例可以从实体中获取所有关系数据,而不需要硬编码关系名称 编辑:我没有解释我原来的问题,修正了上面的问题。添加我的静态代码,它按名称而不是动态地获取关系数据 疾病是一个实体,其自身的病理学器官与另一实体的病理学器官之间存在着许多关系 NSManagedObject(或子类)的实体属性返回对象的NSEntityDescription。实体描述提供了有关实体的详细信息,包括一个relationshipsByName属

使用Xcode 9 swift 4,是否可以动态获取实体的所有关系?我似乎找不到任何示例可以从实体中获取所有关系数据,而不需要硬编码关系名称

编辑:我没有解释我原来的问题,修正了上面的问题。添加我的静态代码,它按名称而不是动态地获取关系数据

疾病是一个实体,其自身的病理学器官与另一实体的病理学器官之间存在着许多关系


NSManagedObject(或子类)的
实体
属性返回对象的
NSEntityDescription
。实体描述提供了有关实体的详细信息,包括一个
relationshipsByName
属性,该属性返回一个字典,字典的键是关系的名称(对应的值是描述关系的
nsrrelationshipsdescription
对象)。因此,要获得关系的名称列表,可以使用:

let relationshipNames = disease.entity.relationshipsByName.keys
从那里,您可以使用键值编码(
.value(forKey:)
和/或
值(forKeyPath:)
)从对象获取值:

for relationshipName in relationshipNames {
    let keyPathToNameAttribute = relationshipName + ".name"
    let relatedObjects = disease.value(forKey:relationshipName)
    let relatedObjectNames = disease.value(forKeyPath:keyPathToNameAttribute)
}

标准的获取请求将返回所有属性(尽管最初是错误)。这在哪些方面不能满足您的需求?谢谢您的回复。昨晚我一定累了。上述问题已更新。基本上,我想知道是否有一种方法可以通过循环实体来动态获取所有关系数据,而不是像我上面的代码那样对每个关系进行硬编码。对不起,澄清一下,您是否希望找到
疾病
实体(其中
自身病理学器官
是您硬编码的一个)上的所有关系或者查找与您的
疾病
相关的
病理学\u器官
对象的
名称
属性的所有值?第一个:疾病
实体上的所有关系。
for relationshipName in relationshipNames {
    let keyPathToNameAttribute = relationshipName + ".name"
    let relatedObjects = disease.value(forKey:relationshipName)
    let relatedObjectNames = disease.value(forKeyPath:keyPathToNameAttribute)
}