CoreData (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.
На сегодняшний день этот фреймворк является самым главным в компании и пользуется огромным спросом среди разработчиков.
Ссылки
[править | править код]