2016-07-18 3 views
0

mycode:pushViewController медленно

self.navigationController?.pushViewController(vc, animated: false) NSLog("finish pushViewController")

override func viewDidLoad() { 
    NSLog("start viewDidLoad") 
    super.viewDidLoad() 
    NSLog("end viewDidLoad") 
} 

журнала:

2016-07-18 15:40:55.060 KaXin[64190:12458086] finish pushViewController 2016-07-18 15:40:56.470 KaXin[64190:12458086] start viewDidLoad 2016-07-18 15:40:56.471 KaXin[64190:12458086] end viewDidLoad

между "закончить pushViewController" и "начать viewDidLoad" это занимает 1,4 секунды.

что это делает?

как исправить?

ИОС 9.2, Xcode: 7,3

только первый раз нажать эту ViewController, это занимает много времени

+0

Что находится внутри вашего метода 'init'? – fiks

+0

Отмечает – fasoal

+0

Heave вы пытались проецировать его на инструменты? – fiks

ответ

0

Я обнаружил, что это обычно происходит, когда ViewController, что вы пытаетесь подтолкнуть имеет код viewDidLoad, который требует много времени для выполнения. Обратите внимание, что при нажатии нового ViewController он ожидает выполнения кода в viewDidLoad перед показом представления.

+0

перед «start viewDidLoad» требуется 1,4 секунды ... – fasoal

+0

Является ли функция 'pushViewController' вызывается в основном потоке? Кроме того, вы делаете что-либо в 'viewWillDissapear'? – Swinny89

+0

Я тщательно проверил различные элементы, я обнаружил, что если добавить текстовое представление на представление, он станет очень медленным .... – fasoal

Смежные вопросы