В своем приложении для iPad я создаю корневой вид, который содержит много изображений, которые используются в качестве миниатюр.При нажатии на миниатюру открывается новое окно, отображающее подробности об указанном элементе, а также увеличенное миниатюру.Отсюда он позволяет пользователю открыть элемент или использовать MFMailComposeViewController
для создания некоторых файлов и их экспорта.Если пользователь «открывает» элемент, отображается новый контроллер представления + представление.
В настоящее время каждое новое представление отображается как модальное представление, представленное из предыдущего представления, так что «стек вызовов» может выглядетьнапример:
thumbnailViewController
|
V (presentModalViewController)
previewViewController
|
V (presentModalViewController)
editCanvasViewController
Таким образом, на этом этапе иерархия представления может иметь глубину 3 или 4 модальных контроллера.Мне кажется, что это плохой дизайн (я полагаю, что вы должны действительно хотеть быть только одним модулем глубины за один раз).
В данный момент у меня возникают проблемы с памятью, и я хотел бы знать,Должны ли вы справиться с этим лучше?
Все ли мои view + контроллеры остаются в памяти, пока используется "цепочка" модальных контроллеров?В моем старом приложении для iPhone использовался UINavigationController, но я не уверен, что это лучший способ обработки нескольких представлений на iPad.
Стоит ли заменять старый контроллер представления на каждом шаге вместо того, чтобы полагаться на их модальное представление?
Наверное, я смотрю, правильно ли я это делаю:)