如何将 PFFile 数组转换为 UIImage 数组?
Posted
技术标签:
【中文标题】如何将 PFFile 数组转换为 UIImage 数组?【英文标题】:How to turn a PFFile Array into a UIImage Array? 【发布时间】:2015-07-08 17:46:28 【问题描述】:我在将 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]
)
【问题讨论】:
【参考方案1】:这可能是一个并发问题,因为您打印出图像内容的行将在回调完成之前执行,这就是后台任务的本质。如果您真的想查看图像的打印内容,可以在回调中打印,或者完全在 for
循环之外打印。
【讨论】:
【参考方案2】:首先你必须使用 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()
【讨论】:
以上是关于如何将 PFFile 数组转换为 UIImage 数组?的主要内容,如果未能解决你的问题,请参考以下文章
在for循环中将PFFile数组转换为UIImage返回空数组Swift
应用启动时加载用户配置文件,选择视图时崩溃,将 PFFile 转换为 UIImage