Interested Article - CoreData

Core Data фреймворк от компании Apple, встроенный в операционную систему iOS, MacOS, который позволяет разработчику взаимодействовать с базой данных. Был представлен компанией Apple c анонсом и 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
  • A "row" of data
  • Access attributes
  • -entity
  • -valueForKey
  • -setValue
  • forKey
NSManagedObjectContext
    • Changes
    • Actions
  • setFetchRequestTemplate
forName;
fetchRequestTemplateForName
NSPredicate
  • Specify query
  • predicateWithFormat
  • evaluateWithObject
NSManagedObjectModel
  • Structure
  • Storage
  • -setFetchRequestTemplate:
forName
  • fetchRequestTemplateForName
  • -entities
NSFetchRequest
  • Request data
  • -setPredicate
  • setEntity
  • -setFetchBatchSize

Формат хранения

Core Data может конвертировать данные в XML, бинарный код, SQLite для хранения. Core Data схемы стандартизированы.

Если на компьютере не установлен Xcode, то возможность прочитать модель данных есть.

История

Основная часть фреймворка была написана во время работы Стива Джобса в компании NeXT, (EOF) на языке Objective-C .

EOF был специально разработан на object-relational mapping для SQL database двигателей как Microsoft SQL Server and . Существует много аналогов данного фреймворка таких как: Realm, SQLite .

На сегодняшний день этот фреймворк является самым главным в компании и пользуется огромным спросом среди разработчиков.

Ссылки


Источник —

Same as CoreData