iOS

Core Data

Core Data stack, NSManagedObject, fetch requests, relationships, migrations, performance

22 questions d'entretien·
Confirmé
1

Qu'est-ce que NSPersistentContainer dans Core Data ?

Réponse

NSPersistentContainer encapsule l'ensemble du stack Core Data incluant le NSPersistentStoreCoordinator, NSManagedObjectContext et NSPersistentStore. Il simplifie l'initialisation en gérant automatiquement les configurations et réduit le boilerplate de code par rapport à l'ancienne approche manuelle. Utiliser NSPersistentContainer est la pratique recommandée depuis iOS 10 pour configurer Core Data rapidement et de manière thread-safe.

2

Quel est le rôle principal de NSManagedObjectContext ?

Réponse

NSManagedObjectContext agit comme un tampon en mémoire (scratch pad) entre l'application et la couche de stockage persistant. Il gère les opérations CRUD, suit toutes les modifications avec undo/redo et coordonne les sauvegardes vers le persistent store. Un contexte est lié à une queue spécifique et ne doit jamais être partagé entre threads. Utiliser perform() pour toute interaction thread-safe.

3

Qu'est-ce qu'un NSManagedObject ?

Réponse

NSManagedObject est la classe de base pour tous les objets persistants dans Core Data. Il représente une instance unique d'une entité définie dans le modèle de données avec un objectID unique. NSManagedObject gère automatiquement les propriétés via KVC, les relations bidirectionnelles et l'état de l'objet (inserted, updated, deleted) au sein du contexte. Sous-classer NSManagedObject permet d'ajouter de la logique métier.

4

Comment initialiser une NSFetchRequest pour récupérer des entités ?

5

Quel est l'objet responsable de la communication avec la couche de stockage ?

+19 questions d'entretien

Maîtrise iOS pour ton prochain entretien

Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.

Commencer gratuitement