Na marginesie zauważę, że jest to powszechne błędne wyobrażenie, ale Core Data nie jest systemem bazy danych.
Zamiast tego jest to system zarządzania grafami obiektów w czasie wykonywania z opcją trwałości dołączoną jako opcja, jeśli chcesz. Jego podstawową funkcją jest zapewnienie warstwy modelu wzorca projektowego Model-View-Controller. W związku z tym zajmuje się znacznie więcej niż tylko pobieraniem danych z dysku i z niego.
Core Data ma krzywą uczenia się, ale z mojego doświadczenia wynika, że największą przeszkodą, z którą wielu spotyka się, jest traktowanie Core Data jako pewnego rodzaju zorientowanego obiektowo wrappera wokół SQL. Z tej perspektywy dane podstawowe są bardzo mylące, ponieważ wydaje się, że wymagają nauczenia się tak wiele, co nie ma nic wspólnego z wytrwałością.
Używanie baz danych, takich jak SQLite, MongoDB i CouchDB do utrwalania, wcale nie przyspieszy działania, ponieważ chociaż możesz lepiej zrozumieć, w jaki sposób pobierają dane z dysku i z niego, nie pomogą one w ogóle w zarządzaniu danymi i relacją do innych obiektów danych i obiektów interfejsu użytkownika. Nadal musisz mieć model danych i będziesz musiał to wszystko zakodować ręcznie. O ile Twój model danych nie jest ekstremalnie prosty, zajmie to więcej czasu niż nauka danych podstawowych.
Najlepszym sposobem na poznanie danych podstawowych jest zignorowanie faktu, że wykres obiektów może być w ogóle utrwalany. Po prostu zacznij z perspektywy, że masz wiele obiektów reprezentujących model danych Twojej aplikacji i musisz zarządzać ich atrybutami i relacjami.