ios – 核心数据:谓词顺序关系中的第一个元素

我有这个to-many关系,其中至少包含一个元素:
Appointment <<------>> Invitee

appointment.invitees是一个有序关系,导致NSOrderedSet.

在由获取的结果控制器控制的表视图中,我列出了约会,以及被邀请者集的第一个元素.

现在我想使用nspredicate按被邀请者的名字搜索此列表.但是如何在谓词中引用有序列表的第一个元素?

我试过了:

fetchRequest.predicate = [nspredicate predicateWithFormat:
       @"invitees[FirsT].lastName CONTAINS[cd] %@",searchTerm];

但我得到了未实现的sql生成的谓词错误.这是有道理的,因为结果是一个集合,但不是严格的数组.不过,我认为sqlite商店必须对订单进行建模,因此它应该是可检索的.

任何建议?

解决方法

很明显,这个问题甚至连最专业的核心数据学者也无法回答.

解决方法是将第一个元素建模为单独的一对一关系,将其余元素建模为基于相同相关实体的可选多对多关系.

Appointment <<------>  mainInvitee        (Invitee)
            <<------>> additionalInvitees (Invitee)

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...