iOS

Core Data

Core Data Stack, NSManagedObject, Fetch Requests, Beziehungen, Migrationen, Performance

22 Interview-Fragen·
Mid-Level
1

Was ist NSPersistentContainer in Core Data?

Antwort

NSPersistentContainer kapselt den gesamten Core Data Stack einschließlich NSPersistentStoreCoordinator, NSManagedObjectContext und NSPersistentStore. Es vereinfacht die Initialisierung durch die automatische Verwaltung von Konfigurationen und reduziert Boilerplate-Code im Vergleich zum alten manuellen Ansatz. Die Verwendung von NSPersistentContainer ist seit iOS 10 die empfohlene Praxis für ein schnelles und thread-sicheres Core Data Setup.

2

Was ist die Hauptaufgabe von NSManagedObjectContext?

Antwort

NSManagedObjectContext fungiert als In-Memory-Scratchpad zwischen der Anwendung und der persistenten Speicherschicht. Es verwaltet CRUD-Operationen, verfolgt alle Änderungen mit Undo/Redo und koordiniert das Speichern im Persistent Store. Ein Context ist an eine bestimmte Queue gebunden und darf niemals zwischen Threads geteilt werden. Verwende perform() für jede thread-sichere Interaktion.

3

Was ist ein NSManagedObject?

Antwort

NSManagedObject ist die Basisklasse für alle persistenten Objekte in Core Data. Es repräsentiert eine eindeutige Instanz einer im Datenmodell definierten Entity mit einer eindeutigen objectID. NSManagedObject verwaltet automatisch Eigenschaften über KVC, bidirektionale Beziehungen und den Objektzustand (inserted, updated, deleted) innerhalb des Context. Durch Subclassing von NSManagedObject lässt sich Geschäftslogik hinzufügen.

4

Wie initialisiert man eine NSFetchRequest, um Entities abzurufen?

5

Welches Objekt ist für die Kommunikation mit der Speicherschicht verantwortlich?

+19 Interview-Fragen

Meistere iOS für dein nächstes Interview

Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.

Kostenlos starten