首页 文章

核心数据 . 无法根据与继承实体的关系获取/排序实体

提问于
浏览
0

[A] << -------------> [B]属性约

如果关系中的对象是从抽象类继承的,则无法通过关系基于属性获取/排序对象

NSSortDescriptor *titleSort = [[NSSortDescriptor alloc]initWithKey:@"b.attribute" ascending:YES];
[fetchRequest setSortDescriptors:@[titleSort]]; 


Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'keypath b.attribute not found in entity <NSSQLEntity A id=17>'

所以我们与[B]的“一对一”关系有一些属性;

当我尝试通过[B]的“属性”获取[A]时,我发生了崩溃 .

这是非常奇怪的,似乎Core Data不支持处理使用继承实体的keypath

你见过这个????

谓词相同 - 请帮助!

提出问题,所有你想要的

1 回答

  • -1

    我不确定问题是B是一个继承的实体 . 通常,您无法在第二级执行操作(在与实体A相关的另一实体B上的属性上) .

    基本上你应该分两步完成:

    • 检索所有B对象,按 attribute 排序

    • 通过for-each循环从B对象中获取A对象(非常简单,因为你有一对一的关系)

相关问题