Проблема:
- С учетом страницы в формате PDF и серии инструкций по рисованию,
- приложение должно иметь возможность повторять эти инструкции для этой страницы
- когда приложение было закрыто между получением инструкций по рисованию и просмотром страницы.
Решение:
- Сохранить ссылку на страницу PDF и инструкции по рисованию в постоянном хранилище.
- Загрузить инструкции по рисованию для просматриваемой страницы.
- Визуализация инструкций по рисованию.
Сохранить ссылку на страницу PDF можно так же просто, как сохранить URL-адрес, связанный с PDF и текущей страницей.
Сохранение инструкций по рисованию может быть таким же простым, как и архивирование UIBezierPath
, используемых в качестве инструкций по рисованию, поскольку UIBezierPath
соответствует NSCoding
. Если вместо этого вы используете CGMutablePathRef
, вы можете инициализировать UIBezierPath
из CGPath
и архивировать только что инициализированные пути Безье. Вы можете извлечь CGPath
из UIBezierPath
после разархивирования.
Если вам не нужно, чтобы пользователь мог редактировать инструкции для рисования в следующем сеансе, тогда вы можете визуализировать чертеж в статическое изображение и просто загрузить и нарисовать его в следующий раз. После этого сеанса сделайте эти инструкции поверх исходного изображения, сохраните их и продолжайте, как и раньше.