如何将PFFile数组转换为UIImage数组?

时间:2015-07-08 17:46:29

标签: arrays swift parse-platform uiimage pffile

我在将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]

})
}

2 个答案:

答案 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()

    }

}