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 № 1spróbuj uruchomić go na MainThread
dispatch_async(dispatch_get_main_queue(), { () -> Void in
self.handleLoginAttempt(data!)
print("Finished Login Attempt!")
})