我正在研究获取食谱的应用程序。 我对API进行GET请求,获取JSON,进行解析,一切都很好。 我得到图像的名称,成分列表和URL,因此我正在请求图像,但是我不知道如何从封闭中获取她。 我试图从封闭处放出她的属性,但是当我处于封闭状态时,属性没有被初始化。 因此,我真的不知道该如何从关闭中获取该图像。
这是我的代码,谢谢!
private func storeRecipes(for recipeData: RecipeResponse) {
var image = UIImage()
for recipe in recipeData.matches {
let imageUrl = self.modifyUrl(recipe.smallImageUrls[0])
self.getImage(for: imageUrl) { (data) in
guard let imageData = data else {
return
}
image = UIImage(data: imageData)!
}
let recipefinished = Recipe(name: recipe.recipeName, ingredients: recipe.ingredients, image: image)
RecipesList.recipes.append(recipefinished)
}
}
private func getImage(for url: URL, completionHandler: @escaping ((Data?) -> Void)) {
let url = url
Alamofire.request(url).responseData { (response) in
guard response.result.isSuccess,
let data = response.data else {
completionHandler(nil)
return
}
completionHandler(data)
}
}