Tag Archives: state preservation

Building iRemember – shopping list app, part 3

iRemember
We’re continuing building our iRemember application.
Now it is time to focus on application UI. We’ll start with calendar selection and then – showing reminders from selected calendar.
We’ll also implement state restoration (links are in Russian) for user’s convenience.
Continue reading

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

Еще одна полезная возможность для разработчиков по сохранению состояния iOS-приложения (тема рассматривалась: часть 1, часть 2) – семантический идентификатор модели. Поясню суть на примере.

Допустим, в вашем приложении есть табличное представление (UITableView). По нажатию на одну из ячеек открылся контроллер, показывающий детальную информацию об элементе. И именно в таком состоянии приложение было закрыто.
С точки зрения удобства использования приложения – при возвращении из детального представления, таблица должна показывать те же записи, что и до перехода. Кроме того, подсветка выбора элемента таблицы должна пропасть с анимацией.
Оба этих действия делаются системой сохранения и восстановления состояния автоматически. Однако, по-умолчанию сохраняются только номера ячеек. Грубо говоря, сохраняется положение прокрутки “показывать ячейку в секции N, ряд M сверху“, а также “была выбрана ячейка в секции K, ряд L“.

Если перечень и порядок ячеек в таблице не меняется, такое поведение будет достаточным. Однако, если между запусками приложения порядок сортировки или количество элементов в таблице могло поменяться, есть способ вернуть пользователя в ту часть таблицы, где находится выбранный им элемент.
Continue reading

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

Продолжаем тему сохранения и восстановления состояния iOS-приложений.

В этой заметке я уделю внимание процессу восстановления состояния, последовательности вызовов, а также более тонкой настройке процесса восстановления.
Continue reading

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

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

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

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

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