Насколько я понимаю, у вас есть UIViewController
для каждой папки.
Я думаю, что нет проблем, если вы оставите только последние 3 контроллера. И на viewWillApear
каждого UIViewController
у вас есть проверка старых контроллеров представления и удаление некоторых контроллеров представления
Может быть, что-то подобное в viewWillAppear
if (navigationController?.viewControllers.count)! > 3 {
navigationController?.viewControllers.removeFirst()
} else if (navigationController?.viewControllers.count)! < 2 {
if true {
let olderPage = UIViewController()
navigationController?.viewControllers.insert(olderPage, at: 0)
}
}
Конечно, вы можете больше играть с тем, что есть в View Controller, и инициализировать столько, сколько сможете в viewWillApear
, и освободить столько, сколько сможете в viewWillDisapear
. Имейте в виду, что при загрузке изображений с UIImage(named:)
изображение будет кэшироваться, и они не будут освобождать память.