gpt4 book ai didi

IOS - SWIFT - CollectionView -> ImageView 加载 URL 图片

转载 作者:搜寻专家 更新时间:2023-10-31 22:50:24 25 4
gpt4 key购买 nike

我有一个 CollectionView,其中包含应从网络加载的图像。

URL 在字符串数组中,在 collectionView 单元格中是 imageView。

我找到了这段代码:

func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
var cell = collectionView.dequeueReusableCellWithReuseIdentifier("cell", forIndexPath: indexPath) as! ViewCell

var url = NSURL(string: "\(array[indexPath.row])")

var err: NSError?
var imageData: NSData = NSData(contentsOfURL: url!, options: NSDataReadingOptions.DataReadingMappedIfSafe, error: &err)!
var bgImage = UIImage(data:imageData)

cell.imgView.image = bgImage

// cell.imgView.image = UIImage(named: array[indexPath.row])
cell.load.hidden = false
cell.load.startAnimating()
cell.load.hidesWhenStopped = true
if cell.imgView.image == nil {
cell.load.startAnimating()
}else{
cell.load.stopAnimating()
}
return cell
}

问题刚开始就出现了。应用程序已加载,我在我的 MainVC(带有 collectionView)中看到了一些来自 println 的评论,但在 ipad 上它只是卡住了启动屏幕。

我试图将入口点 pu 到另一个 View ,它工作正常,直到我继续到 MainVC,一切都只是卡住并且不会响应任何触摸。

这有什么问题吗?

感谢您的帮助!

最佳答案

这是因为您在下面代码行的主线程上加载图像。

var imageData: NSData = NSData(contentsOfURL: url!, options: NSDataReadingOptions.DataReadingMappedIfSafe, error: &err)!

异步下载图像并在下载图像后更新相应的单元格。

例子: https://developer.apple.com/library/prerelease/ios/samplecode/LazyTableImages/Introduction/Intro.html

http://jamesonquave.com/blog/developing-ios-apps-using-swift-part-5-async-image-loading-and-caching/

关于IOS - SWIFT - CollectionView -> ImageView 加载 URL 图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30123346/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com