执行:
JsON示例:
{ "imageList": [ { "largeImage": "https://amazingphotos/01.jpg" },{ "largeImage": "https://amazingphotos/02.jpg" },}
在UICollectionVIEwController中访问JsON:
Alamofire.request(.GET,dataURL) .responseJsON { _,_,result in if var Json:JsON = JsON(result.value!){ self.imageURLs = Json["imageList"].arrayValue self.collectionVIEw?.reloadData() } }
在cellForItemAtIndexPath中,我将URL传递给单元格而不是图像本身.
let cell = collectionVIEw.dequeueReusableCellWithReuseIDentifIEr("imageCell",forIndexPath: indexPath) as! CollectionVIEwCell cell.imageData = imageURLs[indexPath.row]
在自定义Cell我只是这样做:
var imageData:SwiftyJsON.JsON?{ dIDSet{ self.setup() } } func setup(){ if let imageURLString = self.imageData?["largeImage"]{ let imageURL = NSURL(string: imageURLString.stringValue) self.imagethumbnail.hnk_setimageFromURL(imageURL!) }
问题:当我加载集合视图时,它会正确显示图像,一旦我开始滚动它就会在新单元格中显示我之前的图像几秒钟,然后刷新.
我多次使用集合视图但从未使用过如此多的数据.请指教.
TIA
overrIDe func prepareForReuse() { myImageVIEw.image = nil super.prepareForReuse()}总结
以上是内存溢出为你收集整理的ios – UICollectionViewController会暂时向我显示错误的图像,然后刷新到正确的图像全部内容,希望文章能够帮你解决ios – UICollectionViewController会暂时向我显示错误的图像,然后刷新到正确的图像所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)