Swift 4 iOS解析JSON到集合视图

Swift 4 iOS解析JSON到集合视图,ios,json,swift,Ios,Json,Swift,我有个小问题。如果JSON作为key:value出现,我只知道如何将JSON图像链接解析到收集单元,但这次我在下面的链接中得到了JSON的类型 问题是。。。我在数组上有多个图像链接[链接,链接,链接]。如何将第一个阵列中的3-4幅图像放在下面的一个集合视图屏幕截图中,然后填充其他单元格 结构是。。我在tableView的每个单元格上放置了一个tableView->CollectionView->Collection,其中的单元格带有带有水平滚动和标题的图像块 截图如下: 使用链接加载照片的扩展

我有个小问题。如果JSON作为key:value出现,我只知道如何将JSON图像链接解析到收集单元,但这次我在下面的链接中得到了JSON的类型

问题是。。。我在数组上有多个图像链接[链接,链接,链接]。如何将第一个阵列中的3-4幅图像放在下面的一个集合视图屏幕截图中,然后填充其他单元格

结构是。。我在tableView的每个单元格上放置了一个tableView->CollectionView->Collection,其中的单元格带有带有水平滚动和标题的图像块

截图如下:

使用链接加载照片的扩展

extension UIImageView{
func downloadImg(from url: String){

let urlRequest = URLRequest(url: URL(string: url)!)

let task = URLSession.shared.dataTask(with: urlRequest) { (data,response,error) in

    if error != nil{
        print(error)
        return
    }

    DispatchQueue.main.async {
        self.image = UIImage(data: data!)
    }
}
task.resume()
}
}
我的对象结构

struct info : Decodable {
let list : [lists]
}
struct lists : Decodable{
let title : String?
let images : [String]?
}
通常,如果JSON有一个类似key:value的结构,我会这样做

cell.productImage.downloadImg(from: (arrayImg?[indexPath.row].url)!)

首先,请遵守结构名称以大写字母开头的命名约定

您可以将URL字符串直接解码为URL,如果JSON包含所有键,则不将属性声明为optionals

struct Info : Decodable {
    let list : [List]
}
struct List : Decodable {
    let title : String
    let images : [URL]
}
解码JSON并迭代数组数据就是接收到的数据实例

struct Info : Decodable {
    let list : [List]
}
struct List : Decodable {
    let title : String
    let images : [URL]
}
do {
    let result = try JSONDecoder().decode(Info.self, from: data)
    for phone in result.list {
        for imageURL in phone.images {
          print(imageURL)
        }
    }
} catch { print(error) }