Лучшие практики для реализации отмены-повтора в iPhone
Я пытаюсь разработать приложение для iPhone (демонстрационный проект), используя target-C, который может применять несколько фотографических эффектов к изображениям.
Приложение запущено и работает, но я подумал о реализации функций "отменить" и "повторить" в пользовательском интерфейсе. Я успешно закодировал один уровень отмены повторения, то есть один шаг назад или вперед с легкостью. Но концепция усложняется, если включить несколько уровней отмены и повтора действий. Это становится особенно мрачным, когда пользователь отменяет последовательность шагов, а затем начинает выполнять что-то еще. Чем больше штатов я пытаюсь спасти, тем больше я заблуждаюсь.
Я хотел бы знать, существует ли стандартная лучшая практика для реализации такого рода действий. Любая архитектура или структура, которую я должен использовать? Какова общепринятая процедура для этого? Буду признателен за любые общие рекомендации по оптимизации этого метода.
Пожалуйста помоги.
1 ответ
Все зависит от того, как вы обрабатываете ваше изображение.
Если вы играете с изображениями, вы можете использовать NSUndoManager, где вы можете отслеживать обработку изображений.
В противном случае вы можете отслеживать массив действий, выполняемых над вашим изображением, это менее предпочтительно.
Но все зависит от ваших требований и от того, как вы обрабатываете свой образ,
Важной вещью, о которой нужно позаботиться, является ваша память в таких действиях.
Если вы хотите повторно использовать свои действия при следующей загрузке приложения, вы можете использовать NSKeyArchiever.