NSPredicate与关系子实体属性

时间:2014-04-30 13:44:55

标签: core-data nspredicate nsfetchrequest

我有这种模式情况 -

  1. Group实体与名为Event的{​​{1}}实体建立了一对一的关系。
  2. latestEvent实体有一个名为' WeddingEvent'这是许多儿童活动之一。
  3. Event是唯一拥有名为WeddingEvent
  4. 的属性的人
  5. 如果present属于种类' WeddingEvent'我正在尝试过滤Group以免被提取。
  6. 由于我无法通过className或entityName获取,所以我尝试了:

    latestEvent

    NSPredicate *LatestEventValidity = [NSPredicate predicateWithFormat:@"latestEvent.present != nil"];
    

    但他们失败了。

    这里有任何帮助吗?

1 个答案:

答案 0 :(得分:2)

第一个谓词不起作用,因为并非所有Event对象都响应" present" 选择。第二个谓词不起作用,因为你不能使用基于块的(或任何 基于Objective-C的)谓词在核心数据获取请求中。

唯一的解决方案可能是添加一个(字符串或整数)"类型"属于你的"事件"实体,以便您可以使用"lastEvent.type != 'Wedding'"等谓词进行过滤。