Tag Archives: persistence

Сохранение состояния iOS-приложения

В iOS 6 помимо всего прочего появилась полезная для разработчиков возможность – автоматизированный процесс сохранения и восстановления состояния приложения.

До выхода iOS 4, в которой была реализована многозадачность, приложения должны были сами заботиться о том, чтобы сохранить и восстановить свой внешний вид при перезапуске. Каждый разработчик решал эту задачу по-своему. С выходом iOS 4 этот вопрос отошел на второй план – приложение можно “убрать” в фон и “вернуть” обратно без дополнительных затрат.

Однако, приложения, находящиеся в фоне, могут быть закрыты системой, чтобы дать активному приложению больше памяти – ее объем на устройстве ограничен. Таким образом, пользователь может, сам того не желая, закрыть приложение, с которым он только что работал, просто переключившись на другое приложение.

Чтобы упростить жизнь авторам приложений, в iOS 6 SDK были добавлены средства, позволяющие упростить процесс сохранения и восстановления состояния приложения. Причем, значительная часть из них работает без написания кода. Рассмотрим базовые возможности, доступные разработчикам.
Continue reading

Advertisements

Сохранение состояния объектов

В этот раз я расскажу о том, как сохранять состояние объекта. Этот процесс еще называется сериализация. Это не рассказ про Core Data, это более простой механизм, который позволяет сохранять состояние объектов и иерархий объектов без особых проблем.
Это будет небольшой подготовкой к следующей теме – сохранение и восстановление состояния приложения в iOS между перезапусками.

Итак, есть задача – сохранить и восстановить состояние некоего объекта Objective-C. Для этого у нас есть следующие компоненты:

  • Протокол NSCoding
  • Класс NSCoder
  • Классы NSKeyedArchiver и NSKeyedUnarchiver

Continue reading