с viewDidLoad мой viewController появляется очень долго!

когда я загружаю свой viewController, я использовал метод «viewDidLoad» для инициализации моего представления, но это занимает много времени, чтобы представление появилось. Поэтому у меня возникла идея использовать метод «viewDidAppear», чтобы ускорить появление моего представления, но загрузка информация о моем представлении теперь загружается в память каждый раз, когда я нажимаю свое представление (что нормально) или открываю его (и это моя проблема). У вас есть идеи?


person Mejdi Lassidi    schedule 07.06.2010    source источник


Ответы (3)


Создайте фоновую задачу, которая запускается в viewDidLoad и просто обновляет графический интерфейс по завершении. Это должно, по крайней мере, позволить вам показать графический интерфейс, но, возможно, без достоверных данных.

person willcodejavaforfood    schedule 07.06.2010
comment
это то, что я сделал, но для отображения представления требуется несколько секунд (3,4) (я создал поток для анализа файла xml) - person Mejdi Lassidi; 07.06.2010

Согласно Руководство по программированию View Controller, вы должны создать свое представление в методе loadView:

Если вы предпочитаете создавать представления программно, а не использовать файл пера, вы делаете это из метода loadView вашего контроллера представления. Вы должны переопределить этот метод, если планируете создавать представления программно.

Возможно, вам следует создать свое представление в методе loadView, а затем загрузить дополнительные данные в viewDidLoad, как описано в Понимание цикла управления представлением, при необходимости используя фоновую задачу, предложенную willcodejavaforfood.

person David    schedule 07.06.2010

я сделал это с помощью метода "ViewDidAppear:animated", и для проблемы загрузки данных для каждого появления я решаю это с тестом в верхней части метода:

if(data==nil){/*i do ...*/}

и для меня данные были массивом, который я пишу при загрузке представления

person Mejdi Lassidi    schedule 08.06.2010