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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (48)

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

})
}
提问于
用户回答回答于

代码:

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

    }

}
用户回答回答于

这可能是一个并发问题,因为打印出图像内容的行将在回调完成之前执行,这是背景任务的性质。如果你确实想看到图像的打印内容,则可以在回调中打印它,或者完全在for循环外部打印。

扫码关注云+社区

领取腾讯云代金券