阵列超出范围-Swift

阵列超出范围-Swift,swift,Swift,我有一个从解析中获取图像的块: func getImageData(objects: [PFObject]) { let downloadGroup = dispatch_group_create() for object in objects { let thumbNail = object["StaffPic"] as PFFile dispatch_group_enter(downloadGroup)

我有一个从解析中获取图像的块:

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])
            }
func getImageData(对象:[PFObject]){
let downloadGroup=dispatch\u group\u create()
对于对象中的对象{
将缩略图=对象[“StaffPic”]设为PFFile
调度组输入(下载组)
thumbNail.getDataInBackgroundWithBlock({
(imageData:NSData!,错误:NSError!)->在中无效
如果(错误==nil){
让image=UIImage(数据:imageData)
self.logomages.append(图像)
调度组离开(下载组)
}
},progressBlock:{(百分比完成:CInt)->中的Void
})
}
dispatch\u group\u notify(downloadGroup,dispatch\u get\u main\u 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)

对于var i=0;i我认为错误在这里:

for var i = 0; i <= self.logoImages.count; i++

对于var i=0;i我认为错误在这里:

for var i = 0; i <= self.logoImages.count; i++

变量i=0的
;i可能会更改此行:


对于var i=0;i可能会改变这一行:


对于var i=0;i完全为true,这正是问题所在。这是因为数组中的对象索引从0开始,而count是数组中的项数(从1开始)。这就是为什么应该使用map、filter、reduce而不是for循环!完全正确,这正是问题所在。这是因为数组中的对象索引从0开始,而count是数组中的项数(从1开始)。这就是为什么应该使用map、filter、reduce而不是for循环!