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 に答える