关于键值存储,目前值的架构支持 NSString、NSNumber、NSData、NSDate、CLLocation,和 CKReference、CKAsset,以及存储以上数据类型的数组。 CKAsset: 即资源文件,例如二进制文件。还是以签到应用为例,用户签到时可能还包含一张照片,那么这张照片就会以 asset 形式存储起来。
开发者可以考虑将非常大的文件创建为 CKAsset ,在他们的 NSPersistentCloudKitContainer 同步对象中保存一个外键,以便他们可以查找。 以图像举例,开发者可以考虑只在 Core Data 中保存一个小尺寸的缩率图,将大尺寸图片通过 CloudKit API 以 CKAsset 的方式保存在云端( 在对应的 Core Data 数据中保存一个外链
CKAsset —— 用来处理文件这种非结构化数据的存储,按照 API 的说明文档,可以高效支持上传和下载,看来苹果应该也是提供 CDN 支持的,但是国内用户应该就享受不到了。