iOS

Core Data

Core Data stack, NSManagedObject, fetch request, relazioni, migrazioni, performance

22 domande da colloquio·
Mid-Level
1

Cos'è NSPersistentContainer in Core Data?

Risposta

NSPersistentContainer incapsula l'intero stack di Core Data inclusi NSPersistentStoreCoordinator, NSManagedObjectContext e NSPersistentStore. Semplifica l'inizializzazione gestendo automaticamente le configurazioni e riduce il codice boilerplate rispetto al vecchio approccio manuale. Usare NSPersistentContainer è la pratica raccomandata da iOS 10 per configurare Core Data in modo rapido e thread-safe.

2

Qual è il ruolo principale di NSManagedObjectContext?

Risposta

NSManagedObjectContext funge da scratch pad in memoria tra l'applicazione e il livello di archiviazione persistente. Gestisce le operazioni CRUD, traccia tutte le modifiche con undo/redo e coordina i salvataggi sul persistent store. Un context è legato a una queue specifica e non deve mai essere condiviso tra thread. Usa perform() per qualsiasi interazione thread-safe.

3

Cos'è un NSManagedObject?

Risposta

NSManagedObject è la classe base per tutti gli oggetti persistenti in Core Data. Rappresenta un'istanza univoca di un'entity definita nel modello dati con un objectID univoco. NSManagedObject gestisce automaticamente le proprietà tramite KVC, le relazioni bidirezionali e lo stato dell'oggetto (inserted, updated, deleted) all'interno del context. Creare una sottoclasse di NSManagedObject consente di aggiungere logica di business.

4

Come inizializzare una NSFetchRequest per recuperare le entity?

5

Quale oggetto è responsabile della comunicazione con il livello di archiviazione?

+19 domande da colloquio

Padroneggia iOS per il tuo prossimo colloquio

Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.

Inizia gratis