У меня тяжелый UIViewController
, который загружает несколько изображений в viewDidLoad
(поэтому он вызывается один раз, только при первом доступе к контроллеру).Для его загрузки требуется 5-10 секунд, который я хочу уменьшить, предварительно загрузив его откуда-то при запуске приложения.
Я провел свое исследование и попытался получить доступ к атрибуту view
контроллера, чтобы он загрузился в didFinishLaunchingWithOptions
метод AppDelegate
, и это действительно произошло (был вызван viewDidLoad
), нокогда я включаю сам контроллер, снова вызывается viewDidLoad
и все изображения загружаются снова.
Ниже приведен пример текущего кода:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewController(withIdentifier: "modeDescriptionViewController")
let _ = vc.view // viewDidLoad is called here
return true
}
Как я могу предварительно загрузить огромный UIViewController
, чтобы при открытии он не загружался так много?Данные, которые он хранит, полностью статичны, поэтому подойдет любое решение.