Core Data ist ein Framework, mit dem Sie die Model-Layer-Objekte in Ihrer Anwendung verwalten. Es bietet verallgemeinerte und automatisierte Lösungen für allgemeine Aufgaben im Zusammenhang mit der Verwaltung von Objektlebenszyklen und Objektdiagrammen, einschließlich Persistenz.
Core Data verringert normalerweise die Menge an Code, die Sie zur Unterstützung der Modellebene schreiben, um 50 bis 70 Prozent. Dies liegt hauptsächlich an den folgenden integrierten Funktionen, die Sie nicht implementieren, testen oder optimieren müssen:
-
Änderungsverfolgung und integrierte Verwaltung von Undo und Redo über grundlegende Textbearbeitung.
-
Aufrechterhaltung der Änderungsausbreitung, einschließlich der Aufrechterhaltung der Konsistenz der Beziehungen zwischen Objekten.
-
Verzögertes Laden von Objekten, teilweise materialisierte Futures (Fehler) und gemeinsame Nutzung von Copy-on-Write-Daten zur Reduzierung des Overheads.
-
Automatische Validierung von Eigenschaftswerten. Verwaltete Objekte erweitern die standardmäßigen Validierungsmethoden für die Schlüsselwertcodierung, um sicherzustellen, dass einzelne Werte innerhalb akzeptabler Bereiche liegen, sodass Wertekombinationen sinnvoll sind.
-
Schemamigrationstools, die Schemaänderungen vereinfachen und Ihnen eine effiziente In-Place-Schemawechsel ermöglichen.
-
Optionale Integration mit der Controller-Schicht der Anwendung zur Unterstützung der Synchronisierung der Benutzeroberfläche.
-
Gruppieren, Filtern und Organisieren von Daten im Speicher und in der Benutzeroberfläche.
-
Automatische Unterstützung für das Speichern von Objekten in externen Daten-Repositories.
-
Anspruchsvolle Abfrage Zusammenstellung. Anstatt SQL zu schreiben, können Sie komplexe Abfragen erstellen, indem Sie ein NSPredicate-Objekt einer Abrufanforderung zuordnen.
-
Versionsverfolgung und Versionssperre zur Unterstützung der automatischen Konfliktlösung mit mehreren Schriftstellern.
-
Effektive Integration mit den macOS- und iOS-Toolketten.