阵列超出范围-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循环!