我有一個網址,並希望通過復位功能下載圖像,但是,我不能得到正常的合作,這是我的FUNC:通過AlamofireImage下載UIImage?
func getTabImage(url: URL) -> UIImage {
Alamofire.request(url)
.responseImage { response in
if let image = response.result.value {
return image
} else {
print("Failed to get image")
}
}
}
我通過在URL,並且希望一個UIImage從返回alamofire的迴應。
但我得到空隙功能
爲return語句
意外的非空返回值。
我該如何正確實現?
'return image'那不行,因爲這個調用是異步的。改爲使用閉包。已經有很多問題了,請查找「Swift + Closure + Async」。對於錯誤信息(一旦你做了關閉事件就應該消失),這是因爲你說過「 - > UIImage」,但是如果「if let image」沒有返回任何東西。此外,在該方法結束時,您也不會返回任何內容。 – Larme
鏈接的例子是爲URLSession,但這是完全一樣的想法。給你的方法包裝器簽名添加一個回調,然後將它與值一起使用來檢索(例子中的字符串,但可以是任何)。 – Moritz
@Moritz他明確要求**通過AlamofireImage下載UIImage **不會被標記爲重複https://stackoverflow.com/questions/31264172/how-can-i-get-the-data-from-nsurlsession-sharedsession -datataskwithrequest可能是重複的,但這個問題與你標記的問題不同! –