Вы находитесь на странице: 1из 7

Core Data

БД и библиотеки
• Является слоем между приложением и различными источниками данных: файловая система, БД и другие (мы будем
использовать БД SQLite)
https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/CoreData/PersistentStoreFeatures.html

• Стандартный готовый фреймворк в iOS – Core Data (подключается автоматически)


• https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/CoreData/

• Реализует ORM подход (не нужно вручную писать SQL запросы) – напоминает Hibernate и др.

• До iOS 10 инициализация БД была более запутанной (больше кода)

• Сторонняя популярная библиотека: Realm Database (своя БД)


Версии SQLite
• Нужно знать, чтобы понимать возможности и ограничения

• Источник:
• https://github.com/yapstudios/YapDatabase/wiki/SQLite-version-(bundled-with-OS)
Редактор Core Data
• При создании проекта ставили галочку «Core Data» - автоматически был создан нужный код для
инициализации БД (в классе AppDelegate, который вызывается при запуске проекта)
• Создается файл *.xcdatamodeld

• Также, можно добавлять код вручную (более сложный вариант для новичков)

• В XСode добавлен готовый инструмент для работы с БД с помощью Core Data

• Все изменения нужно производить только через Core Data (нельзя вручную менять таблицы через сторонние
приложения)

• Рекомендуется:
• Включить вывод SQL запросов в консоль
• Выводить (для тестирования ) путь к БД при запуске приложения, чтобы иметь возможность открывать
БД с помощью сторонних приложений – для просмотра данных
Редактор Core Data
Документация
• 1-й вариант документации – статьи, туториалы - описаны общие моменты
https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/CoreData

• 2-й вариант документации: описание объектов и примеры (API):


• https://developer.apple.com/documentation/coredata

• Не вся документация доступна для языка Swift, поэтому можно смотреть примеры на Objective-C (из них
понять принцип + нужно прочитать текстовое описание примера)

• Искать конкретные примеры в Google (выбирайте период для фильтрации результатов, чтобы не изучать
слишком старые примеры)
Домашнее задание
• Прочитать раздел «What Is Core Data»?
• https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/CoreData