Swift CoreData:使用两个表[实体]之间的关系对数据进行排序

Swift CoreData:使用两个表[实体]之间的关系对数据进行排序,swift,core-data,Swift,Core Data,我试图根据displayOrder对游戏列表进行排序,displayOrder是类别的一个属性。其中类别是游戏和GCatogory实体之间关系的名称。 这是GCategory实体,它与游戏实体有一对多的关系。 这是游戏实体,它是需要根据GCategory实体的显示顺序进行排序的游戏列表。 我尝试了NSSortDescriptor和NSPredicate,但遇到以下异常 由于未捕获异常“NSInvalidArgumentException”而终止应用程序,原因:“此处不允许使用多个密钥” 以N

我试图根据displayOrder对游戏列表进行排序,displayOrder是类别的一个属性。其中类别是游戏和GCatogory实体之间关系的名称。 这是GCategory实体,它与游戏实体有一对多的关系。

这是游戏实体,它是需要根据GCategory实体的显示顺序进行排序的游戏列表。

我尝试了NSSortDescriptor和NSPredicate,但遇到以下异常 由于未捕获异常“NSInvalidArgumentException”而终止应用程序,原因:“此处不允许使用多个密钥” 以NSException类型的未捕获异常终止。 感谢您的帮助


提前感谢。

对于许多人来说,
游戏
实体上的
类别
关系是什么?这就解释了错误的原因-如果游戏有多个类别,CoreData如何按照类别的显示顺序对游戏进行排序?谢谢@pbasdf,对于您的回答,您能否建议解决相同问题的方法,将类别设置为“一对一”关系将有助于解决问题?将类别设置为一应该会有所帮助。但前提是你的数据建模正确。问题是,游戏可以属于多个类别吗?如果是这样的话,您需要保持一个对多关系,但要重新考虑所需的排序。