Получить изображение из запроса GET и сохранить его - PullRequest
0 голосов
/ 30 января 2019

Я работаю над приложением для получения рецептов.Я делаю свой запрос GET к API, получаю 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)
    }
}
...