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