Архивирование объектов моделей


Архивирование объектов моделей

Мы углубимся в детали этих состояний и их импликаций для выполнения и завершения. Между тем, если хотите удостовериться в том, что данные действительно были сохранены, можете выйти из симулятора IPhone, а затем снова запустить свое приложение из среды Xcode. Выход из симулятора эквивалентен перезагрузке iPhone, поэтому, когда устройство заработает снова, ваше приложение получит свежий опыт перезапуска.

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

В когда мы строили объект модели данных Presidents, вы видели пример процесса загрузки архивных данных с использованием экземпляра типа NSCode г. 8 мире Cocoa термин архивирование (archiving) относится к другой форме сериализации, но это уже более обобщенный тип, который может реализовать любой объект. Каждый объект модели, специально написанный для хранения данных, должен поддерживать архивирование. Метод архивирования объектов модели позволяет легко записывать сложные объекты в файл, а затем читать их оттуда.

Поскольку каждое свойство, которое вы реализуете в своем классе, является либо скаляром (типа int или float), либо экземпляром класса, который соответствует протоколу NSCoding, можете архивировать все свои объекты. Так как большинство классов из библиотек Foundation и Cocoa Touch, допускающих возможность сохранения данных, действительно соответствует протоколу NSCoding (хотя и не без таких заслуживающих внимания исключений, как класс Ullmage), архивирование и вправду относительно просто реализовать для большинства классов.

Несмотря на отсутствие строгого требования на выполнение архивирования, вместе с протоколом NSCoding должен быть реализован другой протокол, а именно протокол NSCopying, который позволяет скопировать ваш объект. Возможность копирования объекта дает намного больше гибкости при использовании объектов моделей данных. Например, в приложении Presidents вместо того сложного кода, который мы написали для сохранения изменений, внесенных пользователем, мы могли бы обрабатывать обе кнопки — Cancel и Save. Мы могли бы сделать копию объекта President и сохранить изменения в этой копии. Если пользователь стукнет по кнопке Save, мы скопируем только измененную версию, чтобы заменить ею исходную.
  • Дата: 29-12-2014, 15:50

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

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



Отзывы о статье: Архивирование объектов моделей

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