iOS

Core Data

Core Data stack, NSManagedObject, fetch requesty, relacje, migracje, wydajność

22 pytań z rozmów·
Mid-Level
1

Czym jest NSPersistentContainer w Core Data?

Odpowiedź

NSPersistentContainer enkapsuluje cały stack Core Data, w tym NSPersistentStoreCoordinator, NSManagedObjectContext i NSPersistentStore. Upraszcza inicjalizację, automatycznie zarządzając konfiguracjami, i redukuje kod boilerplate w porównaniu ze starym, ręcznym podejściem. Użycie NSPersistentContainer to zalecana praktyka od iOS 10 dla szybkiej i thread-safe konfiguracji Core Data.

2

Jaka jest główna rola NSManagedObjectContext?

Odpowiedź

NSManagedObjectContext działa jak scratch pad w pamięci pomiędzy aplikacją a warstwą trwałego przechowywania. Zarządza operacjami CRUD, śledzi wszystkie zmiany z undo/redo i koordynuje zapisy do persistent store. Context jest powiązany z konkretną kolejką i nigdy nie powinien być współdzielony między wątkami. Użyj perform() dla każdej thread-safe interakcji.

3

Czym jest NSManagedObject?

Odpowiedź

NSManagedObject to klasa bazowa dla wszystkich trwałych obiektów w Core Data. Reprezentuje unikalną instancję encji zdefiniowanej w modelu danych z unikalnym objectID. NSManagedObject automatycznie zarządza właściwościami przez KVC, relacjami dwukierunkowymi oraz stanem obiektu (inserted, updated, deleted) w obrębie context. Tworzenie podklas NSManagedObject pozwala dodać logikę biznesową.

4

Jak zainicjować NSFetchRequest, aby pobrać encje?

5

Który obiekt odpowiada za komunikację z warstwą przechowywania?

+19 pytań z rozmów

Opanuj iOS na następną rozmowę

Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.

Zacznij za darmo