Gibt es eine Möglichkeit, die Anzahl der Ergebnisse zu begrenzen, die in einem CKQuery
zurückgegeben werden?Beschränken Sie die Anzahl der in CloudKit zurückgegebenen Ergebnisse.
In SQL
ist es möglich, eine Abfrage wie SELECT * FROM Posts LIMIT 10,15
auszuführen. Gibt es in CloudKit so etwas wie den letzten Teil der Abfrage, LIMIT 10,15
?
Zum Beispiel möchte ich die ersten 5 Ergebnisse laden, dann, sobald der Benutzer scrollt, möchte ich die nächsten 5 Ergebnisse laden, und so weiter. In SQL wäre es LIMIT 0,5
, dann LIMIT 6,10
, und so weiter.
Eine Sache, die funktionieren würde, ist eine for
-Schleife zu verwenden, aber es wäre sehr intensiv, da ich alle Werte aus iCloud auswählen und dann durch sie durchlaufen müsste, um herauszufinden, welche 5 auszuwählen und Ich erwarte, dass es viele verschiedene Posts in der Datenbank gibt, also möchte ich nur diejenigen laden, die benötigt werden.
Ich bin auf der Suche nach so etwas wie folgt aus:
var limit: NSLimitDescriptor = NSLimitDescriptor(5, 10)
query.limit = limit
CKContainer.defaultContainer().publicCloudDatabase.addOperation(CKQueryOperation(query: query)
//fetch values and return them
ich über so etwas wie dieses gelesen haben, aber ich kann etwas tun, wie die ersten 5 Werte auswählen, und dann mit einem neuen Betrieb, lassen Sie die ersten 5 Werte und wählen Sie die nächsten 5? – Jojodmo
Ich habe die Antwort aktualisiert (gib mir fünf Minuten). Es ist ein wenig unrealistisch, weil es fünf und dann gleich fünf weitere bringt. Sie möchten wahrscheinlich die nächsten fünf nach dem Benutzer scrollt oder etwas ähnliches. – GoZoner
Ok, danke, also rufe ich das mal an, und füge dann die neue Operation hinzu wenn ich die nächsten 5 laden muss? – Jojodmo