Като настрана, ще отбележа, че това е често срещано погрешно схващане, но Core Data не е система от бази данни.
Вместо това, това е система за управление на графики на обекти по време на изпълнение с постоянна опция, ако искате. Основната му функция е да предостави моделния слой на шаблона за проектиране Model-View-Controller. Като такъв, той се занимава с много повече от просто получаване на данни на и извън диск.
Core Data има крива на учене, но според моя опит най-голямата пречка, с която се сблъскват мнозина, е опитът да третира Core Data като някакъв вид обектно ориентирана обвивка около SQL. От тази гледна точка Core Data е много объркващо, защото изглежда изисква да научите толкова много, което няма нищо общо с постоянството.
Използването на база данни като SQLite, MongoDB и CouchDB за постоянство всъщност няма да ускори нещата изобщо, защото, въпреки че може да разберете по-добре как те получават данни на и извън диска, те изобщо няма да помогнат при управлението на данните и връзката към другите обекти с данни и обектите на потребителския интерфейс. Все още трябва да имате модел на данни и ще трябва да кодирате всичко това на ръка. Освен ако вашият модел на данни не е изключително прост, това ще отнеме повече време от изучаването на Core Data.
Най-добрият начин да научите Core Data е да игнорирате факта, че графиката на обекта изобщо може да бъде запазена. Просто започнете от гледна точка, че имате много обекти, които представляват модела на данни на вашето приложение и трябва да управлявате техните атрибути и връзки.