когда я загружаю свой viewController, я использовал метод «viewDidLoad» для инициализации моего представления, но это занимает много времени, чтобы представление появилось. Поэтому у меня возникла идея использовать метод «viewDidAppear», чтобы ускорить появление моего представления, но загрузка информация о моем представлении теперь загружается в память каждый раз, когда я нажимаю свое представление (что нормально) или открываю его (и это моя проблема). У вас есть идеи?
с viewDidLoad мой viewController появляется очень долго!
Ответы (3)
Создайте фоновую задачу, которая запускается в viewDidLoad и просто обновляет графический интерфейс по завершении. Это должно, по крайней мере, позволить вам показать графический интерфейс, но, возможно, без достоверных данных.
Согласно Руководство по программированию View Controller, вы должны создать свое представление в методе loadView:
Если вы предпочитаете создавать представления программно, а не использовать файл пера, вы делаете это из метода loadView вашего контроллера представления. Вы должны переопределить этот метод, если планируете создавать представления программно.
Возможно, вам следует создать свое представление в методе loadView, а затем загрузить дополнительные данные в viewDidLoad, как описано в Понимание цикла управления представлением, при необходимости используя фоновую задачу, предложенную willcodejavaforfood.
я сделал это с помощью метода "ViewDidAppear:animated", и для проблемы загрузки данных для каждого появления я решаю это с тестом в верхней части метода:
if(data==nil){/*i do ...*/}
и для меня данные были массивом, который я пишу при загрузке представления