我有从解析获取的图像的块:阵列超出范围 - SWIFT
func getImageData(objects: [PFObject]) {
let downloadGroup = dispatch_group_create()
for object in objects {
let thumbNail = object["StaffPic"] as PFFile
dispatch_group_enter(downloadGroup)
thumbNail.getDataInBackgroundWithBlock({
(imageData: NSData!, error: NSError!) -> Void in
if (error == nil) {
let image = UIImage(data:imageData)
self.logoImages.append(image)
dispatch_group_leave(downloadGroup)
}
}, progressBlock: {(percentDone: CInt) -> Void in
})
}
dispatch_group_notify(downloadGroup, dispatch_get_main_queue()) {
self.arrayimages.append(self.ImageView0)
self.arrayimages.append(self.ImageView1)
self.arrayimages.append(self.ImageView2)
self.arrayimages.append(self.ImageView3)
self.arrayimages.append(self.ImageView4)
self.arrayimages.append(self.ImageView5)
self.arrayimages.append(self.ImageView6)
self.arrayimages.append(self.ImageView7)
self.arrayimages.append(self.ImageView8)
for var i = 0; i <= self.logoImages.count; i++
{
var division : CGFloat = (self.ImageViewMain.frame.size.width/2.0)
self.arrayimages[i].image = self.logoImages[i]
self.arrayimages[i].layer.cornerRadius = division
self.arrayimages[i].clipsToBounds = true
self.arrayimages[i].layer.borderWidth = 2.0
self.arrayimages[i].layer.borderColor = self.colour.CGColor
self.view.addSubview(self.arrayimages[i])
}
当所有的图像被downloded它运行dispatch_group_notify并且在该块它增加了阵列图像的UIImageView阵列。但我得到致命错误:数组超出范围。 有什么建议吗?
完全属实,这正是问题所在。它是因为索引数组中的对象从0开始,而count是数组中的项目数(从1开始)。 – nicael 2014-10-20 16:15:19
这就是为什么你应该使用地图,过滤器,减少不循环! – mustafa 2014-10-20 16:54:20