/ / performSegueWithIdentifier z NSURLSession - ios, swift2, nsurlsession

performSegueWithIdentifier od NSURLSession - ios, swift2, nsurlsession

Próbuję znaleźć właściwy sposób iteracji danych z NSURLSession w celu utworzenia obiektu użytkownika.

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)
}

Teraz trafia do następnego kontrolera View poprawnie, jednak po prostu zawiesza się. Na koniec umieszczam instrukcje drukowania (print("Finished Login Attempt!")) jak widać i w viewDidLoad() i widzę instrukcję z viewDidLoad znowy ViewController, ale nigdy „Zakończona próba logowania”. Zakładam więc, że robię NSURLSession niepoprawnie, biorąc pod uwagę, że jest to prawdopodobnie dość podstawowy zestaw działań dla aplikacji.

Twoje zdrowie

Odpowiedzi:

1 dla odpowiedzi № 1

spróbuj uruchomić go na MainThread

dispatch_async(dispatch_get_main_queue(), { () -> Void in
self.handleLoginAttempt(data!)
print("Finished Login Attempt!")
})