0

当我获取具有字符串(或其他)字段的记录时,它需要不到 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 的图像时,这是不可接受的。当我将资产作为参考放入并从那里加载时也是如此。我可以做些什么来加快对包含资产的记录的查询,或者是否有任何其他方式可以更有效地存储资产?

4

1 回答 1

1

使用操作并设置服务质量:

CKQueryOperation *queryOperation = [[CKQueryOperation alloc] initWithQuery:query];

queryOperation.qualityOfService = NSQualityOfServiceUserInitiated;

如果你不设置 qualityOfService,你会得到背景级别,它会很慢。

于 2016-06-14T23:08:35.327 回答