我在将PFFile数组(名为:activeimageFilearray)转换为UIImage数组(名为:activeImageArray)时遇到了一些麻烦。我当前的for-in方法只附加PFFile的第一个条目,而不是将PFFile数组中的所有条目附加到我的新UIImage数组中。因此,当我执行最后一行代码时,它会显示[致命错误:数组索引超出范围],因为UIImage数组只有一个值。提前谢谢。
for x in self.activeimageFileArray
{
x.getDataInBackgroundWithBlock({ (imageData: NSData?, error: NSError?) -> Void in
if error == nil
{
let image = UIImage(data: imageData!)
self.activeimageArray.append(image!)
}
println(self.activeimageArray)
self.venueImage.image = self.activeimageArray[1]
})
}
答案 0 :(得分:0)
这可能是一个并发问题,因为您打印出图像内容的行将在回调结束之前执行,这是后台任务的本质。如果您真的想要查看图像的打印内容,可以在回调内打印,或者完全在for
循环之外打印。
答案 1 :(得分:0)
首先,你必须使用ParseUI才能使用PFImageView
你的类中的pod'ParseUI'
导入ParseUI
import UIKit
import ParseUI
import Parse
class ViewController: UIViewController {
var Obj = PFObject(className: "classname")
@IBOutlet weak var venueImage: PFImageView!
override func viewDidLoad() {
super.viewDidLoad()
// loading image form PFFile Array
let images = Obj["images"] as! [PFFile]
let image = images[0] as PFFile
self.venueImage.file = image
self.venueImage.loadInBackground()
}
}