gpt4 book ai didi

swift - UICollectionView 和解析图像(Swift)没有错误但崩溃

转载 作者:行者123 更新时间:2023-11-30 14:13:31 25 4
gpt4 key购买 nike

程序启动并显示解析后的图像,没有错误,当我再次运行它时,它崩溃了。我的问题是,这是否是因为图像没有缩放到自定义单元格的正确大小。

这是错误:项目宽度必须小于 UICollectionView 的宽度减去部分插入左右值。 fatal error :数组索引超出范围

这是我的功能:

//获取品牌 func getBrand () {

        // Create PFQuery
var query:PFQuery = PFQuery(className: "BrandInfo")

// Call findobjects
query.findObjectsInBackgroundWithBlock {
(objects:[AnyObject]?, error: NSError?) -> Void in

// refresh array
self.brands = [String]()
self.pics = [UIImage]()

// loop through array
for brandObject in objects! {

// get PFObjects
let brandName:String? = (brandObject as! PFObject)["Name"] as? String

if brandName != nil {
self.brands.append(brandName!)

}

let brandPicture = brandObject["Image"] as! PFFile
brandPicture.getDataInBackgroundWithBlock({ (imageData:NSData?, error:NSError?) -> Void in

if(error == nil){

let brandImage = UIImage(data: imageData!)
self.pics.append(brandImage)

println(self.pics.count)
}
})

}
// Refresh CollectionView
self.collectionView.reloadData()

}

}

// Setting up collection view
func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return self.brands.count
}

func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {

let cell:collectionViewCell = self.collectionView.dequeueReusableCellWithReuseIdentifier("Cell", forIndexPath: indexPath) as! collectionViewCell

// Get elements
let picToDisplay:UIImage? = pics[indexPath.row] // here is where the warning occurs
let dataToDisplay:String = brands[indexPath.row]

let imageView:UIImageView? = cell.viewWithTag(2) as? UIImageView


// Set labels
cell.brandImage.image = picToDisplay
cell.brandLabel.text = dataToDisplay


return cell

最佳答案

检查品牌和图片数组的计数是否相同。

在您的情况下,仅当您同时添加品牌图像和品牌名称时,才应附加数组。这样您的图片和品牌数组计数将相同。

关于swift - UICollectionView 和解析图像(Swift)没有错误但崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31494669/

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