core-data Tutorial
Erste Schritte mit Core-Daten
Suche…
Bemerkungen
Core Data ist ein Framework in den verschiedenen OS SDKs von Apple, einschließlich, aber nicht beschränkt auf iOS und OS X. Es hat zwei Hauptrollen, eine Modellschicht und eine Persistenzschicht. Die Modellebene wird zur Verwaltung von Modellobjekten und persistenten Daten verwendet. Sie können einfach Daten in einer objektorientierten Oberfläche speichern und verwalten. Zu den Hauptfunktionen gehören das Filtern, Abfragen, Sortieren, Behalten von Daten und das Erstellen von Beziehungen zwischen Daten. Weitere Themen, die für Core Data-Projekte von Interesse sind, sind NSPredicate, Threading und andere.
Eine Beispielanwendung von Core Data könnte eine Katalog-App für Ihre lokale Bibliothek sein. In der Katalog-App kann ein Bibliothekar Bücher hinzufügen oder entfernen. Sie können Bücher auch nach Genre filtern, nach Veröffentlichungsdatum sortieren oder nach einer bestimmten Autorenarbeit suchen. Eine Entität „Book“ hätte verschiedene Attribute wie Titel, Autor, Veröffentlichungsdatum, ISBN, Rufnummer usw. In Core Data, einschließlich des obigen Beispiels, können auch Daten gespeichert werden, die von einem Server erfasst wurden.
Hauptkomponenten des Frameworks sind:
- Datenmodelle (Entitäten, Attribute und Beziehungen)
- Core Data Stack (NSPersistentStoreCoordinator, NSManagedObjectModel, NSManagedObjectContext)
- NSFetchRequest
- NSFetchedResultsController
Quellen:
Core Data Versionshinweise 2016
CoreData & Parallelität
Beachten Sie, dass CoreData NICHT threadsicher ist. Wenn Sie also beispielsweise einen Hintergrund-Thread verwenden müssen, um mit ManagedObjects zu arbeiten, müssen Sie Folgendes beachten: PrivateQueue- / MainQueue -ManagedObjectContexts.
Aus der Dokumentation von Apples: Core Data erwartet, dass es in einem einzigen Thread ausgeführt wird. Sie sollten niemals verwaltete Objektkontexte für Threads freigeben. Dies ist eine harte Regel, die Sie nicht brechen sollten.
Erstellen Sie Ihr erstes Modell
- Wählen Sie die
.xcdatamodeld
Datei aus. Sie werden feststellen, dass Sie keine Entitäten haben. Sie müssen selbst einen erstellen. Am unteren Rand von Xcode wird eine Schaltfläche mit der Aufschrift "Add Entity" (Entität hinzufügen) angezeigt. Sie haben eine neue Entität, mit der Sie am Projekt arbeiten können.
- In diesem Schritt sind einige Punkte zu erwähnen. Erstens haben Sie Ihren Entitätsnamen hier geändert, und die Entität erhält den Namen
Person
. Im Abschnitt "Attribute" fügen Sie Ihrem Modell die Attribute hinzu. Diese Schaltfläche befindet sich am unteren Rand des Abschnitts. Sie können beliebige Attribute hinzufügen, die für Ihre App relevant sind. Wenn Sie beispielsweise eine Kontaktbuch-App erstellen, brauchen Sie nicht, dass das Modell einer Person ein Attribut vonArms
mit dem TypBoolean
. Sie sollten es in Verbindung mit Ihrer App behalten. Fügen Sie beispielsweise eintelephone
mit dem Typ Integer hinzu oder wenn Sie "String" mögen. Sie haben verschiedene Optionen zur Auswahl, vonBooleans
bis zuDates
und mehr.
- Wenn Sie mit Ihrem Modell zufrieden sind, können Sie die Unterklasse NSManagedObject erstellen.
Hier können wir zwei wichtige Dinge sehen. Erstens ist diese Person (identisch mit Ihrem Entitätsnamen) eine Unterklasse von NSManagedObject. Dies ist wichtig für Ihren Core Data Stack. Zweitens haben Sie zwei Dateien erstellt, eine Klasse
Person.swift
und eine Erweiterung vonPerson
namensPerson+CoreDataProperites.swift
.Alle Ergänzungen sollten in
Person.swift
werden. Wenn Sie Ihr Modell ändern und den Klassengenerator erneut ausführen, werden allePerson+CoreDataProperties.swift
inPerson+CoreDataProperties.swift
überschrieben.
Projekt erstellen
Als erstes müssen Sie ein neues Projekt erstellen: Datei> Neu> Projekt. Hier wird Single View Application ausgewählt, Sie können jedoch die für Ihr Projekt am besten geeignete auswählen.
Der nächste Schritt beim Einrichten der Kerndaten ist das Hinzufügen der Informationen zu Ihrem Projekt. Der wichtige Teil des Fotos unten ist die Auswahl von "Use Core Data".