я перетащить SEGUE из желтой части контроллера вида на другой контроллер представления, и желтой части я имею в виду следующее: почему переход не стреляя в этом контексте
тогда я сделать сетевой вызов к серверу, я обрабатывать ответ, то я хочу, чтобы огонь SEGUE, я это сделать:
let task = session.dataTaskWithRequest(request, completionHandler: {(data, response, error) in
// bla bla here
self.performSegueWithIdentifier(SegueIdentifier.receivedResponse.rawValue, sender: self)
}catch {
}
}
})
task.resume()
, как вы видите, я звоню perform segue
тогда я добавить prepareForSegue
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let identifier = segue.identifier
if let identifier = identifier {
switch identifier {
case SegueIdentifier.receivedResponse.rawValue:
let destination = segue.destinationViewController as! ResponsesTableViewController
destination.responses = self.responses
break;
default:
break;
}
}
}
я поставил точку останова, не все линии внутри всех путей prepareForSegue
до перерыва, все выполняется, но второй контроллер представления не показал
Что находится в вашем блоке блокировки? Если ваш код выбрасывает, то executeSegue никогда не будет выполнен. И вы должны переключиться на главную очередь для выполнения функции. – Ian
Ваш сеанс настроен на использование очереди делегатов? – matt
@lan не существует excpetoni, потому что, как я сказал u, готовый FORSegue выполняется – sarah