在CloudKit中查询引用的最佳方法是什么?
假设我的CloudKit数据库中有两个实体:
- Album - (NSString) title - Photo - (NSString) name - (CKRefrence) album
照片有一个CKReference对册页。 这意味着1张专辑可以有很多照片(如预期)。
我有一个显示所有相册的屏幕,每张相册中有多less张照片。 什么是最好的方式来查询这个? 如果我现在查询专辑,每张专辑都不了解它的照片。
对于每个相册对象anAlbum,您将形成您的谓词并查询照片loggingtypes,如下所示:
let predicate = NSPredicate(format: "album == %@", anAlbum) let query = CKQuery(recordType: "Photo", predicate: predicate)
在completionHandler中,您可以获得结果数组的数量,这将是属于相册的照片的数量。
CloudKit不应该被用作模型层,它只是连接框架,它为您提供数据库。 您可以使用CoreData作为模型层来解决您的任务。 创build相册实体,它与相片实体有一对多的关系,与相册有一对一的关系。
然后首先检索所有相册,并将每个logging映射到CoreData中相应的Album实体。 然后获取所有照片,将它们映射到CoreData中的Photo实体,并为每个照片匹配CoreData中对应的Album实体。
- Cloudkit突然无法上传,因为“无法获得签名证书”
- logging更新中的CloudKit推送通知停止工作
- CloudKit fetchRecordChangesOperation提供了一个“AppDefaultZone不支持同步语义”
- 查询CloudKit中的视频数组,下载并存储在Documents目录中-iOS的Swift 3教程
- CKAsset不会显示在tableview图像中
- 检查用户是否login到iCloud? 斯威夫特/ iOS版
- 如何用CKModifyRecordsOperation.perRecordProgressBlock更新进度
- 如何通过CloudKit中的creationDate查询?
- cloudkit错误没有为资产收到authToken