如何将NSSortDescriptor与嵌套关系使用几个级别

时间:2019-03-18 16:55:42

标签: swift core-data nssortdescriptor

我可以使用Relationship1.relationship2.attribute在几级以下使用NSSortDescriptor进行排序吗?

所有关系都是多对一的

让我们说当前的“组件”与“ part”(与一个)具有关系,而“ part”与它的“ typeANDVariant”(与一个)具有关系

使用以下searchDescriptor执行抓取操作时出现运行时错误:

let searchDescriptor=NSSortDescriptor(key: "part.typeANDVariant.actVariantName", ascending:true)

actVariantName是字符串

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'keypath part.typeANDVariant.actVariantName not found in entity <NSSQLEntity Component id=7>'

如果我不进行排序,那么我可以毫无问题地访问part.typeANDVariant.actVariantName并显示相关数据(字符串)

以下作品也可以:

let searchDescriptor=NSSortDescriptor(key: "part.partDescription", ascending:true)

partDescription是一个属性(字符串)

在我看来,似乎无法将NSSortDescriptor与嵌套关系一起使用。

Data model

1 个答案:

答案 0 :(得分:0)

由Willeke回答: 尝试使用typeANDvariant而不是typeANDVariant(小写v)。 –威勒克

谢谢。