文章插图
下面开始获取图片的的接口,同样的:
在的(::):下面添加以下代码
func downloadColors(contentID: String, completion: @escaping ([PhotoColor]) -> Void) {Alamofire.request("http://api.imagga.com/v1/colors",parameters: ["content": contentID],// 1.headers: ["Authorization": "Basic xxx"]).responseJSON { response in// 2.guard response.result.isSuccess else {print("Error while fetching colors: \(response.result.error)")completion([PhotoColor]())return}// 3.guard let responseJSON = response.result.value as? [String: Any],let results = responseJSON["results"] as? [[String: Any]],let firstResult = results.first,let info = firstResult["info"] as? [String: Any],let imageColors = info["image_colors"] as? [[String: Any]] else {print("Invalid color information received from service")completion([PhotoColor]())return}// 4.let photoColors = imageColors.flatMap({ (dict) -> PhotoColor? inguard let r = dict["r"] as? String,let g = dict["g"] as? String,let b = dict["b"] as? String,let closestPaletteColor = dict["closest_palette_color"] as? String else {return nil}return PhotoColor(red: Int(r),green: Int(g),blue: Int(b),colorName: closestPaletteColor)})// 5.completion(photoColors)}}
最后在(image:::)的 下面添加以下代码:
self.downloadTags(contentID: firstFileID) { tags inself.downloadColors(contentID: firstFileID) { colors incompletion(tags, colors)}}
运行项目,并且点击 按钮可以看到以下效果 。
文章插图
【Alamofire的使用教程】项目地址:
- 边的双连通分量 395 冗余路径
- 2023年是第几个世界狂犬病日 每年的几月几日是世界狂犬病预防日
- 【Shell 命令集合 扩展命令】Linux chgrp命令使用教程
- VPN是什么、类型、使用场景、工作原理
- 一个月饼有多少热量 月饼的热量有多高
- 世界狂犬病日是每年的几月几日 世界狂犬病日是几月几号
- ubuntu下安装HHVM
- 使用异步编程保证Koa的洋葱模型
- 什么叫厄尔尼诺天气 厄尔尼诺天气的形成原因
- Binomial Coefficient C#,二项式系数的七种算法与源代码