Ich habe ein Problem mit warten, bis ein Objekt gemacht wird, dann möchte ich meine UI aktualisieren. Wenn ich die Funktion ausführe, wird es sofort den Indexfehler erhalten, weil er versucht, Text vom ersten Objekt zu bekommen, wenn es noch nicht existiert ... Wer könnte mir helfen?Warten Sie, bis Alamofire fertig ist, Anfrage bekommen und Objekt
func getMovieData(activeGenreLink: String){
//self.posterLoading.startAnimating()
Alamofire.request(activeGenreLink).responseJSON { response in
//print(response.request) // original URL request
//print(response.response) // HTTP URL response
//print(response.data) // server data
//print(response.result) // result of response serialization
var test = 0
self.movieArray = []
if let json = response.result.value as? Dictionary<String,AnyObject> {
if let movies = json["results"] as? [AnyObject]{
for movie in movies{
let movieObject: Movie = Movie()
let title = movie["title"] as? String
let releaseDate = movie["release_date"] as! String
let posterPath = movie["poster_path"] as! String
let overView = movie["overview"] as! String
let movieId = movie["id"] as! Int
let genre_ids = movie["genre_ids"] as! [AnyObject]
movieObject.title = title
movieObject.movieRelease = releaseDate
movieObject.posterPath = posterPath
movieObject.overView = overView
movieObject.movieId = movieId
for genre in genre_ids{//Genre ids, fix this
movieObject.movieGenre.append(genre as! Int)
}
self.movieArray.append(movieObject)
}//End of for each movie
}
}
}//End of Json request
}//End of getmoviedata
Wo versuchen Sie diesen Code? Ich meine, in der ViewDidLoad? oder wo? Alles, was Sie in der Closure 'response in' tun, wird aufgerufen, sobald die Alamofire-Anfrage abgeschlossen ist. –