Есть ли способ ограничить количество результатов, возвращаемых в CKQuery
?Ограничить сумму результатов, полученных в CloudKit
В SQL
можно выполнить запрос, например SELECT * FROM Posts LIMIT 10,15
. Есть ли что-то вроде последней части запроса, LIMIT 10,15
в CloudKit?
Например, я хотел бы загрузить первые 5 результатов, после того как пользователь прокрутит вниз, я хотел бы загрузить следующие 5 результатов и так далее. В SQL это будет LIMIT 0,5
, затем LIMIT 6,10
и так далее.
Одна вещь, которая будет работать, - использовать цикл for
, но это было бы очень интенсивным, так как я должен был бы выбрать все значения из iCloud, а затем прокрутить их, чтобы выяснить, какие 5 выбрать, и Я ожидаю, что в базе данных будет много разных записей, поэтому я бы хотел загрузить только те, которые вам нужны.
Я ищу что-то вроде этого:
var limit: NSLimitDescriptor = NSLimitDescriptor(5, 10)
query.limit = limit
CKContainer.defaultContainer().publicCloudDatabase.addOperation(CKQueryOperation(query: query)
//fetch values and return them
я читал что-то подобное, но я могу сделать что-то вроде выбрать первые 5 значений, а затем, с помощью новой операции, пропустите первые 5 значения и выберите следующие 5? – Jojodmo
Я обновил ответ (дайте мне пять минут). Это немного нереально, потому что он получает пять, а затем сразу еще пять. Вероятно, вы захотите получить следующие пять после прокрутки пользователя или некоторых таких. – GoZoner
Хорошо, спасибо, поэтому я просто позвоню этому, а затем добавлю новую операцию, когда мне нужно загрузить следующие 5? – Jojodmo