当我获取包含字符串(或其他)字段的记录时,不到 1 秒:
let query = CKQuery(recordType: "Messages", predicate: NSPredicate(format: "TRUEPREDICATE"))
NSLog("Started fetching")
self.publicDb.performQuery(query, inZoneWithID: nil) { (records, error) in
NSLog("Finished fetching")
print(records!.count)
}
但是,当此记录类型包含 CKAsset 时,查询时间至少会增加 3 秒。当我要加载 100kb 的图像时,这是 Not Acceptable 。当我将 Assets 作为引用并从那里加载时,情况是一样的。我可以做些什么来加快对包含 Assets 的记录的查询,或者是否有任何其他方法可以更有效地存储 Assets ?
最佳答案
使用操作并设置服务质量:
CKQueryOperation *queryOperation = [[CKQueryOperation alloc] initWithQuery:query];
queryOperation.qualityOfService = NSQualityOfServiceUserInitiated;
如果不设置qualityOfService,就会获取后台级别,速度会很慢。
关于ios - CKQuery 使用 CKAssets 很慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36968650/