核心数据:谓有序关系中的第一个元素

我有这至多包含至less一个元素的关系:

Appointment <<------>> Invitee 

appointment.invitees是导致NSOrderedSet有序关系

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

现在我想用被邀请者的名字来search这个列表,使用NSPredicate 。 但是如何引用谓词中有序列表的第一个元素呢?

我试过了:

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

但是我得到了unimplemented SQL generation for predicate错误。 这是有道理的,因为结果是一个集合,但不是一个严格的数组。 不过,我认为sqlite商店必须build模的顺序,所以它应该是可检索的。

有什么build议?

显然,这个问题甚至连最专业的核心数据公司都不能回答。

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

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