仅从Core Data中检索已连接的实体

时间:2015-04-07 01:06:02

标签: core-data xcode6

我有一个电影放映时间实体,它与电影实体有一对一的关系。逆(电影 - >电影播放时间)关系是一对多关系。如果删除了电影,则相关的电影放映时间也将被删除,但如果删除电影放映时间,则相关的电影将保留。 (不确定有多少是相关的,但想尽可能多地澄清情况)

现在,有没有办法查询核心数据,只获得我有放映时间的独特电影?

是否可以从电影放映时间中进行选择,并以某种方式将结果限制为仅关联的独特电影?或者从电影实体中选择只带回电影放映时间实体中匹配行的电影?

2 个答案:

答案 0 :(得分:0)

不确定。在电影上写一个没有限制的获取请求,你将获得所有电影实例。

答案 1 :(得分:0)

轮流提问:

  

现在,有没有办法查询核心数据,只获得我有放映时间的独特电影?

您可以使用谓词选择movies,其中showtimes的数量大于零:

"showtimes.@count > 0"
  

是否可以从电影放映时间中进行选择,并以某种方式将结果限制为仅关联的独特电影?

如果您(通过第一次查询提供)scheduledMovies movies的{​​{1}}数组showtimes,那么您可以使用以下内容获取关联的showtimes像这样的谓词:

 "movie IN %@", scheduledMovies
  

或者从电影实体中选择只带回电影放映时间实体中匹配行的电影?

如果您获取movies,那么您将获得所有movies,除非您根据第一个问题指定谓词。但是,如果您获取showtimes,则可以使用密钥编码来获取关联movies的数组:

"@distinctUnionOfObjects.movie"

结果数组中没有任何movies没有showtimes。 (此密钥的第一部分会删除所有重复项,因为多个showtimes可能具有相同的movie。)