【发布时间】:2017-12-16 06:09:34
【问题描述】:
我正在尝试获取 PFFile 类型的数组并将其转换为 UIImage 类型的数组。我使用下面的代码,无论如何它总是返回一个空数组。任何帮助深表感谢。
userImagesPassed 是一个 PFFile 类型的数组。
func setUserImages() -> Array<UIImage> {
var userImageArray = [UIImage]()
for file2 in userImagesPassed {
file2.getDataInBackground(block: { (imageData2, error) in
if error != nil {
userImageArray = []
} else {
userImageArray.append(UIImage(data: imageData2!)!)
}
})
}
return userImageArray
}
编辑:
如果我在 for 循环中打印 userImageArray,我会得到正确的输出(UIImage 类型的填充数组)。但是返回的值还是一个空数组。
【问题讨论】:
-
提示:“异步”
-
谢谢,我试过了,但可能做的不对。将 for 循环放在异步命令中是否正确?
-
这是因为
return userImageArray会在任何图片下载之前调用。 -
感谢@DharmeshKheni,但我不确定如何解决这个问题,移动 return 语句会导致错误。
-
帮助我了解
setUserImages()在这里的用途。
标签: ios arrays swift loops uiimage