0
下午好Alamofire要求返回值,從雨燕2.2
我試圖創建一個簡單的函數來檢索使用與Alamofire外部API在雨燕2.2的一些信息,但是當我想返回值是總是空的。
我試圖關注本網站的其他一些質量檢查以及其他網站的更多質量保證,但是我無法從此功能返回值。
當我在Alamofire中打印我的變量(概述)時,它是正確的,但是當我嘗試返回它時,它總是空的。我需要在代碼中添加(或更改)以使其工作?
這裏是我的功能:
func getOverview(slug: String, clientID: String) -> String {
let movieURL: String = "https://api.trakt.tv/movies/"+slug+"?extended=full"
let headers = ["trakt-api-version":"2", "Content-Type": "application/json", "trakt-api-key": clientID]
var overview: String = ""
Alamofire.request(.GET, movieURL, headers: headers).responseJSON { response in
if response.result.isSuccess {
let movieInfo = JSON(data: response.data!)
overview = self.parseMovieOverview(movieInfo)
// THAT'S CORRECT
print(overview)
} else {
print(response.result.error)
}
}
// THAT'S EMPTY
return overview
}
這是我的電話:
// THAT'S ALWAYS EMPTY
overview = getOverview(slug, clientID: clientID)
與返回的值概述編輯:
func parseMovieInfo(json: SwiftyJSON.JSON, clientID: String) -> [Movie] {
for result in json.arrayValue {
let slug = result["ids"]["slug"].stringValue
let title = result["title"].stringValue
let year = result["year"].stringValue
// OVERVIEW
let overview = getOverview(slug, clientID: clientID)
// PICTURE
let picture = getPicture(slug, clientID: clientID)
let movie = Movie(slug: slug, title: title, year: year, overview: overview, picture: picture)
self.movies.append(movie)
}
return movies
}
大加讚賞,
問候
你能告訴我一些光@Feldur嗎?我仍然試圖使用完成處理程序來完成這項工作,但我無法達成解決方案。親切的問候。 –
告訴我你對返回值做了什麼。 – Feldur
我在第一篇文章中添加了代碼。我希望你能幫助我@Feldur,因爲我不知道如何繼續。我試圖在completionHandler中使用「dataTaskWithRequest」,但我必須提出3個請求,這很棘手(一個用於一般信息,一個用於概述,另一個用於圖片),因爲它們在不同的API調用中。 –