3

CloudKit の RecordType は 100 を超えるレコードです。次のコードは、これらの 11 のみから取得し、最初の 11 レコードではなく、レコードの先頭、中央、および末尾からランダムに選択されます。コードの何が問題なのかわかりません。

編集: .reselsLimit を 5000 に変更することで機能しました!

let cloudContainer = CKContainer.default()
        let publicDatabase = cloudContainer.publicCloudDatabase
        let predicate = NSPredicate(value: true)
        let query = CKQuery(recordType: "Sijainti", predicate: predicate)

        var queryOperation = CKQueryOperation(query: query)
        queryOperation.queuePriority = .veryHigh
        queryOperation.resultsLimit = 50
        queryOperation.desiredKeys = ["Koordinaatit"]

        queryOperation.recordFetchedBlock = { (record) -> Void in
            self.sijainnitArray.append(record)
        }

        queryOperation.queryCompletionBlock = { (cursor, error) -> Void in

            if error != nil {
                print("Failed to get data")
                return
            }

            if cursor != nil {
                let newQueryOperation = CKQueryOperation(cursor: cursor!)
                newQueryOperation.cursor = cursor
                newQueryOperation.resultsLimit = queryOperation.resultsLimit
                newQueryOperation.queryCompletionBlock = queryOperation.queryCompletionBlock

                queryOperation = newQueryOperation

                publicDatabase.add(queryOperation)
                return

            }
        }

        publicDatabase.add(queryOperation)
4

0 に答える 0