在CloudKit中查询引用的最佳方法是什么?

use*_*895 5 ios cloudkit

假设我的CloudKit数据库中有2个实体:

- Album
  - (NSString) title

- Photo
  - (NSString) name
  - (CKRefrence) album
Run Code Online (Sandbox Code Playgroud)

照片有一个CKReference到相册.这意味着1张专辑可以有很多照片(如预期的那样).

我有一个屏幕,我想显示所有相册,每张相册中有多少张照片.查询此问题的最佳方法是什么?如果我现在查询专辑,每张专辑都不知道它的照片.

Den*_*nis 5

对于每个相册对象anAlbum,您将形成您的谓词并查询Photo记录类型,如下所示:

let predicate = NSPredicate(format: "album == %@", anAlbum)
let query = CKQuery(recordType: "Photo", predicate: predicate)
Run Code Online (Sandbox Code Playgroud)

在completionHandler中,您可以获得结果数组的计数,该数组是属于anAlbum的照片数.