我使用2网址像这样在collectionview
显示2个图像的CollectionView图片...问题与显示通过URL的
var sampleURLArray: [NSURL] = []
sampleURLArray = [NSURL(string: "http://myApp.abc.com/products/123_45_6_image_123456")!,NSURL(string: "http://myApp.abc.com/products/789_45_6_image_654321")!]
而且我迭代通过URL的和将图像生成到一个数组像这样...
for imageNumber in self.sampleURLArray {
let imageurl1 = imageNumber
let url = imageurl1
let data = try? Data(contentsOf: url as URL)
self.sampleImageView.image = UIImage(data: data!)
self.arrayOfURLImages.append(self.sampleImageView.image!)
}
图像现在正确显示。但我不显示这样的硬编码的时尚图片,我必须从显示的URL的我从我的json
响应得到该我做的,像这样的图片...
if let projectData = result["Productdata"] as? [[String:Any]] {
let productIds = projectData.flatMap({ $0["product_id"] as? String })
let images = projectData.flatMap({ $0["product_images"] as? [[String: Any]] }).flatMap({ $0 })
let imageIds = images.flatMap({ $0["image"] as? String })
self.appDelegate.commonArrForCollectionViewImgs = imageIds //I'll get each URL from self.appDelegate.commonArrForCollectionViewImgs
}
//CommonArrForCollectionViewImgs is set as var commonArrForCollectionViewImgs = [String]()
for imageNumber in self.appDelegate.commonArrForCollectionViewImgs {
let imageurl1 = imageNumber
let url = URL(string: imageurl1)
print(url)
if let dataOfUrl = try? Data(contentsOf: url!) {
let data = dataOfUrl
self.sampleImageView.image = UIImage(data: data)
}
self.arrayOfURLImages.append(self.sampleImageView.image!)
}
但当这完成后,图像不会显示在collectionview
虽然我能够正确解析所有网址。另外,如果我在API请求中取得成功,我正在执行json解析。我无法弄清楚问题所在。这是否必须对collectionview
设置的位置做任何事情......?
你可以使用https://github.com/rs/SDWebImage –
好吧..但它基本上用于...什么? –
@ User.bw请参阅此链接可能会有所帮助:https://stackoverflow.com/questions/46176409/loading-image-to-image-cell-from-url?answertab=oldest#tab-top –