Core Data
Core Data stack, NSManagedObject, fetch requests, relationships, migrations, performance
1Qu'est-ce que NSPersistentContainer dans Core Data ?
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.
2Quel est le rôle principal de NSManagedObjectContext ?
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.
3Qu'est-ce qu'un NSManagedObject ?
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.
Comment initialiser une NSFetchRequest pour récupérer des entités ?
Quel est l'objet responsable de la communication avec la couche de stockage ?
+19 questions d'entretien
Autres sujets d'entretien iOS
Les bases de Swift
Essentiels du langage Swift
Fondamentaux UIKit
Cycle de vie UIViewController
UserDefaults & Keychain
Cycle de vie de l'application
Auto Layout & Constraints
UITableView & UICollectionView
Les bases de SwiftUI
Gestion d'état SwiftUI
Navigation SwiftUI
Networking & URLSession
Codable & Parsing JSON
Programmation orientée protocoles
Architecture MVVM
Notifications Push
Tests unitaires & XCTest
Tests d'interface utilisateur
Xcode & Système de build
Swift Package Manager
Memory Management & ARC
Combine Framework
Concurrency & async/await
iOS Design Patterns
Performance Optimization
Security & Encryption
SwiftUI Advanced
iOS Application Architecture
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