Технология постоянного хранения


Технология постоянного хранения

Core Data — технология постоянного хранения данных с поддержкой загрузки, сохранения, контроля версий и отмены/повторения операций.

Core Data работает с базами данных SQLite, двоичными файлами и временной памятью.

Модель управляемых объектов определяет сущности, с которыми работает Core Data.

Контекст управляемых объектов представляет собой «точку доступа» к данным. В нем хранится информация об активных управляемых объектах.

Контекст управляемых объектов является частью подсистемы Core Data, обеспечивающей чтение и запись данных.

Мы создали отличное приложение. iBountyHunter успешно загружает данные, необходимые Пете, и позволяет ему легко просмотреть список преступников. Но что делать, когда данные изменятся? Пете нужна новая функциональность. Как она отразится на модели данных? В этой главе вы узнаете, как справиться с изменениями в модели данных и как извлечь пользу из других возможностей Core Data.

Петя хочет сохранять дополнительную информацию.

Петя хочет отслеживать ход своей работы, чтобы получить вознаграждение. Это означает, что мы должны где-то найти место для хранения дня и времени поимки преступника, а затем использовать их при построении представления пойманных преступников.

Мы должны придумать, как обновить приложение iBountyHunter для работы с новыми данными. Просмотрите каждый компонент приложения и напишите, что в нем нужно изменить (если нужно, конечно).

Все начинается с модели объектов.

Итак, мы выяснили, что в сущность Fugitive необходимо добавить несколько новых полей: дату и время, а также признак того, что преступник был пойман. База данных строится по модели данных, поэтому наша задача сводится к обновлению модели данных и включению необходимой информации. Тип date в Core Data включает как дату, так и время, так что в сущность Fugitive достаточно добавить всего два новых свойства.

Необходимые изменения можно быстро внести в среде Xcode.

Core Data обнаруживает несоответствие между базой данных и моделью.

Проблема появилась при добавлении новых полей в сущность Fugitive. Исходная база данных была создана для старой модели, и Core Data понятия не имеет, где взять новые поля. Чтобы избежать опасности повреждения данных, система аварийно завершает наше приложение с выдачей сообщения об ошибке. Это, конечно, хорошо, но как исправить ошибку?
  • Дата: 2-01-2015, 18:31

Предыдущие статьи сайта:

Понравилась статья? Ставь лайки, рассказывай друзьям!



Отзывы о статье: Технология постоянного хранения

Технологии, секреты и фишки Apple: Iphone, iPad, iPod