Swift Storyboard Segue загружает пустой вид при вызове из закрытия

Если я вызову переход из viewWillAppear() контроллера представления, второе представление загрузится, как и ожидалось performSegueWithIdentifier("CompleteSegue", sender: self)

Но если я выполняю асинхронную загрузку и вызываю переход из закрытия успеха, он вызывает переход, запускает весь код и отображает представление, но оно совершенно пустое. self.performSegueWithIdentifier("CompleteSegue", sender: self)

Это приложение для OSX, и я использую SwiftHTTP для загрузки. Тип перехода — Лист.


person iniquity    schedule 04.03.2015    source источник
comment
Все изменения пользовательского интерфейса должны быть в основном потоке, иначе он не будет обновляться правильно.   -  person Arbitur    schedule 05.03.2015
comment
У вас есть предложение о том, как я могу заставить основную угрозу действовать, основываясь на том, что происходит вне процесса?   -  person iniquity    schedule 05.03.2015


Ответы (1)


Используйте центральную диспетчерскую службу. В завершении успеха сделайте следующее:

dispatch_async(dispatch_get_main_queue(),{
    // Pseudo code
    self.performSegueWithIdentifier("CompleteSegue", sender: self) 
});
person SwiftArchitect    schedule 05.03.2015
comment
Это сделало это. Я новичок в Swift (и программировании для Mac), поэтому я подозревал, что ответ прост и выходит за рамки моего опыта. Спасибо за легкое исправление. - person iniquity; 05.03.2015