2017-04-07 5 views
3

Ich habe eine solche Aufgabe vor mir: Es gibt mehr als 10.000 Datensätze in der Datenbank, ich muss sie in der Tabellenansicht anzeigen, aber ich kann nicht alle 10.000 und Speichern Sie im Array, wie Sie die Arbeit organisieren, z. B. beim Scrollen von 100 Datensätzen in einer Tabellenansicht, Laden Sie die nächsten 100 Einträge aus der Datenbank herunter.10 Anzeigen einer großen Menge von Daten aus Core Data

Ich habe Dinge wie fetchLimit und fetchOffset gefunden, aber ich habe immer noch nicht verstanden, wie man sie für meine Aufgabe verwendet.

Was würden Sie mir sagen?

+0

Wenn Sie eine Chance erhalten https://developer.apple.com/reference/coredata/nsfetchrequest#/apple_ref/occ/instm/NSFetchRequest/fetchOffset Dokument, das wird Ihnen sehr helfen –

Antwort

3

Ich glaube, wenn Sie Core Data verwenden und UITableView benötigen, sollten Sie trotzig NSFetched​Results​Controller verwenden.

Aus Apple-Dokumentation.

Sie verwenden einen abgerufenen Ergebnisse Controller, um effizient die Ergebnisse zu verwalten aus einem Core Data Abrufanforderung zurückgegebenen Daten für eine Objekt uitable Ansicht zur Verfügung zu stellen.

Mit diesem Ansatz verwenden Sie standardmäßig Cache, der die Leistung verbessert. Auch damit werden Sie UITableView dynamisch aktualisieren, wenn einige Datensätze in Core Data geändert oder hinzugefügt werden.

Zum Abrufen von Daten nach Abschnitt können Sie auch NSFetchRequest ändern und fetchLimit für jede Anforderung festlegen.

Example der einfachen NSFetched​Results​Controller Implementierung.

Verwandte Themen