Core Data
Eine Einführung
codingtutor.de
Architektur
Core Data
NSManaged
Object
NSManaged
Object
NSManaged
Object
Managed Context (NSManagedObjectContext)
NSPersistent
StoreCo...
Core Data (üblich)
NSManaged
Object
NSManaged
Object
NSManaged
Object
Managed Context (NSManagedObjectContext)
NSPersisten...
Die Komponenten im Detail
Entität
● lateinisch für “Ding” oder “seiend”
● Datenbanksprache für zu speichernde Objekte
● Beispiele (inkl. möglicher B...
NSManagedObject
● Data Models für die Entitäten
● Transportieren Daten im Speicher
● Pro Datensatz eigenes Objekt
● Je Ent...
NSManagedObjectContext
● In der Praxis meist arbeit mit Managed Object & Context
● Enthält Data Models (Managed Objects)
●...
Persistent Store Coordinator
● In der Praxis nicht so häufig verwendet
● Ein zentraler Store Coordinator
● Interface für d...
Persistent Store
● Speicherplatz für Managed Objects
● Vergleich zu SQL: Datenbankebene
● Entitäten im Store: Tabellen
● R...
Store Typen
Atomic vs. Non-Atomic
● Bei Änderungen müssen:
○ Atomic-Stores vorab komplett geladen werden
○ Non-Atomic Stores nur teilw...
Wichtig Features für
Managed Objects
FetchRequests
● Abruf von Daten über NSFetchRequest
● Ungenauer Vergleich zu SQL: SELECT
● NSFetchRequest Objekt wird erze...
Predicate
● Filter beim Abruf von Daten (siehe FetchRequest)
● Ähnlich der WHERE-Bedingung in SQL
● Abgebildet über die Kl...
Beziehungen / Relationships
Packliste
name
Artikel
name
istEingepackt
liste
1
n
Zeit für die Praxis
Nächste SlideShare
Wird geladen in …5
×

Core Data: Eine Einführung

98 Aufrufe

Veröffentlicht am

http://codingtutor.de/videotraining/core-data-im-detail/?coupon=coredata

Die Präsentation ist Teil der Einführung in Core Data in meinem Kurs Core Data mit Swift im Detail.

Es geht um den Core Data Stack und die Bestandteile wie den Managed Context (NSManagedObjectContext), die Managed Objects (NSManagedObject), den Persistent Store Coordinator, Persistent Store und so weiter.

Außerdem werden wichtige Begriffe erklärt wie atomic / non-atomic Stores, Du lernst außerdem Predicates, FetchRequests und ähnliches kennen.

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
98
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
4
Aktionen
Geteilt
0
Downloads
0
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Core Data: Eine Einführung

  1. 1. Core Data Eine Einführung codingtutor.de
  2. 2. Architektur
  3. 3. Core Data NSManaged Object NSManaged Object NSManaged Object Managed Context (NSManagedObjectContext) NSPersistent StoreCoordinator NSPersistent Store SQLite Dateisystem NSManaged Object NSManaged Object NSManaged Object Managed Context (NSManagedObjectContext) NSPersistent Store SQLite Dateisystem
  4. 4. Core Data (üblich) NSManaged Object NSManaged Object NSManaged Object Managed Context (NSManagedObjectContext) NSPersistent StoreCoordinator NSPersistent Store SQLite Dateisystem
  5. 5. Die Komponenten im Detail
  6. 6. Entität ● lateinisch für “Ding” oder “seiend” ● Datenbanksprache für zu speichernde Objekte ● Beispiele (inkl. möglicher Beziehung): ○ Bestellung => Artikel ○ Kategorie => Artikel ○ Einkaufliste => Produkt ○ Hersteller => Modell ○ usw. ● Jede Entität hat n Attribute ● Jedes Attribut hat einen Datentyp
  7. 7. NSManagedObject ● Data Models für die Entitäten ● Transportieren Daten im Speicher ● Pro Datensatz eigenes Objekt ● Je Entität ein eigenes Model ● Subklasse von NSManagedObject ● Von Core Data verwaltet (managed) ● Gehören immer zu einem Managed Context
  8. 8. NSManagedObjectContext ● In der Praxis meist arbeit mit Managed Object & Context ● Enthält Data Models (Managed Objects) ● Verwaltet alle Änderungen an Objekten ● Einfügen, Löschen, Aktualisieren über den Context ● Mehr als ein Context möglich ● Der Context ist mit dem PersistentStoreCoordinator verbunden
  9. 9. Persistent Store Coordinator ● In der Praxis nicht so häufig verwendet ● Ein zentraler Store Coordinator ● Interface für den Managed Object Context ● Zugriff auf mehrere Stores wird vereinheitlicht
  10. 10. Persistent Store ● Speicherplatz für Managed Objects ● Vergleich zu SQL: Datenbankebene ● Entitäten im Store: Tabellen ● Records sind die Werte der Managed Objects ● Unterstützte Typen: ○ binär, XML, SQLite ○ eigene Typen können implementiert werden
  11. 11. Store Typen
  12. 12. Atomic vs. Non-Atomic ● Bei Änderungen müssen: ○ Atomic-Stores vorab komplett geladen werden ○ Non-Atomic Stores nur teilweise geladen werden ● Non-Atomic braucht viel weniger Speicher ● Einziger Non-Atomic Type: SQLite ● Weitere verfügbare: ○ NSXMLStoreType (XML) ○ NSBinaryStoreType (binär) ○ NSInMemoryStoreType (RAM, also flüchtig) ● Eigene können implementiert werden: ○ Subklasse von NSIncrementalStore erstellen
  13. 13. Wichtig Features für Managed Objects
  14. 14. FetchRequests ● Abruf von Daten über NSFetchRequest ● Ungenauer Vergleich zu SQL: SELECT ● NSFetchRequest Objekt wird erzeugt ● Name der Entität angegeben ● Ausgeführt wird der FetchRequest im Managed Context ● Ergebnis: Array mit Managed Objects
  15. 15. Predicate ● Filter beim Abruf von Daten (siehe FetchRequest) ● Ähnlich der WHERE-Bedingung in SQL ● Abgebildet über die Klasse NSPredicate ● Wird zum NSFetchRequest hinzugefügt ● Beispiele: ○ vorname == “Swift Akademie” ○ domain == “codingtutor.de” ○ alter > 18 ○ usw ● Können auf Beziehungen angewandt werden
  16. 16. Beziehungen / Relationships Packliste name Artikel name istEingepackt liste 1 n
  17. 17. Zeit für die Praxis

×