核心数据:有序关系中第一个元素的谓词
Posted
技术标签:
【中文标题】核心数据:有序关系中第一个元素的谓词【英文标题】:Core Data: Predicate for first element in orderd relationship 【发布时间】:2012-11-15 09:22:25 【问题描述】:我有这个包含至少一个元素的多对多关系:
Appointment <<------>> Invitee
appointment.invitees
是一个有序关系,导致NSOrderedSet
。
在一个由获取结果控制器控制的表格视图中,我列出了约会以及被邀请者集的第一个元素。
现在我想使用NSPredicate
按受邀者姓名搜索此列表。但是如何在谓词中引用有序列表的第一个元素?
我试过了:
fetchRequest.predicate = [NSPredicate predicateWithFormat:
@"invitees[FIRST].lastName CONTAINS[cd] %@", searchTerm];
但我收到 unimplemented SQL generation for predicate
错误。这是有道理的,因为结果是一个集合,但严格来说不是一个数组。不过,我认为 sqlite 商店必须对订单进行建模,所以它应该是可检索的。
有什么建议吗?
【问题讨论】:
【参考方案1】:显然,即使是最专业的 Core Data 专家也无法回答这个问题。
解决方法是将第一个元素建模为单独的一对一关系,将其余元素建模为基于同一相关实体的可选多对多关系。
Appointment <<------> mainInvitee (Invitee)
<<------>> additionalInvitees (Invitee)
【讨论】:
你能显示你的代码吗?我有同样的问题 @MertKöksal 不是代码问题,是数据结构问题。 所以你可以帮我解决我的问题吗? ***.com/questions/67437589/… 问题好像被删除了。以上是关于核心数据:有序关系中第一个元素的谓词的主要内容,如果未能解决你的问题,请参考以下文章