Estou tentando encontrar uma maneira adequada de iterar por meio de dados de uma NSURLSession para criar um objeto de usuário.
let task = NSURLSession.sharedSession().dataTaskWithRequest(request) { data, response, error -> Void in
if error != nil {
print("Something went wrong: (error)")
return
}
self.handleLoginAttempt(data!)
print("Finished Login Attempt!")
}
task.resume()
func handleLoginAttempt(data: NSData) {
// Iterate through data.
self.performSegueWithIdentifier("LoggedInSuccessfully", sender: nil)
}
Agora, ele vai para o próximo controlador de View apropriadamente, porém apenas trava. Eu coloquei declarações de impressão no final (print("Finished Login Attempt!")
) como você pode ver e no viewDidLoad()
e eu vejo a declaração do viewDidLoad deo novo ViewController, mas nunca a "Tentativa de login concluída". Portanto, estou presumindo que estou executando a NSURLSession incorretamente, visto que este é provavelmente um conjunto bastante básico de ações para um aplicativo.
Felicidades
Respostas:
1 para resposta № 1tente executá-lo em MainThread
dispatch_async(dispatch_get_main_queue(), { () -> Void in
self.handleLoginAttempt(data!)
print("Finished Login Attempt!")
})