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
  • 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, Enterprise Objects Framework (EOF) на языке Objective-C.

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

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

Ссылки


Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.