CoreData
Core Data — фреймворк от компании Apple, встроенный в операционную систему iOS, MacOS, который позволяет разработчику взаимодействовать с базой данных. Был представлен компанией Apple c анонсом Mac OS X 10.4 Tiger и iOS с iPhone SDK 3.0. Позволяет данным быть организованными в Сущность-Атрибут-Значение (EAV). Управление данными может быть осуществлено с помощью манипуляций сущностей и их взаимосвязей.
Структура
править- Managed Object Context — компонент с которым идет взаимодействие, каждый раз, когда идет сохранение или перезапись;
- Persistent Store Coordinator — выполняет цель хранения данных;
- Managed Object Model — модель БД;
- Persistent Store — репозиторий, где хранятся данные;
Использование
правитьСore Data описывает данные, которые хранятся в iOS приложении, код может манипулировать для сохранения и записи данных в приложении. Модель БД создается в Interface Builder. Код пишется на Objective-C или Swift. Core Data организован в огромные классы.
Суть работы фреймворка, как внутренней БД проста: создание модели, и при добавлении новых элементов сохранение с помощью метода saveContext(); в модель с помощью ниже приведенных методов в таблице.
Приложение не может работать без БД, так как при выходе из него данные будут утрачены. Это и является главной целью данного фреймворка — хранение данных, есть так же и похожие: Realm, SQLite. Ниже приведена таблица с описанием структуры фреймворка.
Имя | Использование | Ключевые методы: |
---|---|---|
NSManagedObject |
|
|
NSManagedObjectContext |
|
|
NSPredicate |
|
|
NSManagedObjectModel |
|
|
NSFetchRequest |
|
|
Формат хранения
правитьCore Data может конвертировать данные в XML, бинарный код, SQLite для хранения. Core Data схемы стандартизированы.
Если на компьютере не установлен Xcode, то возможность прочитать модель данных есть.
История
правитьОсновная часть фреймворка была написана во время работы Стива Джобса в компании NeXT, Enterprise Objects Framework (EOF) на языке Objective-C.
EOF был специально разработан на object-relational mapping для SQL database двигателей как Microsoft SQL Server and Oracle. Существует много аналогов данного фреймворка таких как: Realm, SQLite.
На сегодняшний день этот фреймворк является самым главным в компании и пользуется огромным спросом среди разработчиков.
Ссылки
править