如何从解析中检索图像并将其显示在 swift 的 UIImageView 中?
How to retrieve image from parse and display it in a UIImageView in swift?
所以我从昨天开始就一直在尝试从 Parse 中检索图像,但我很困惑。我读过类似的问题和例子,但都是人们先保存一些图像,然后再检索它。我想做的只是检索我手动上传的图像进行解析,我一直在尝试这样做:
//Retrieving image from parse
var object = PFObject(className:"ClassImage")
let getParseImg = object["image"] as! PFFile
getParseImg.getDataInBackgroundWithBlock {
(imageData: NSData?, error: NSError?) -> Void in
if (error == nil){
if let imageData = imageData{
println("Retrieving Image")
let img = UIImage(data:imageData)
self.imageView.image = img
}
}
}
在第二行,它抛出一个 "unexpectedly found nil while unwrapping an Optional value",我已经尝试过 "if let getParseImg",然后它抛出另一个错误,最后该行看起来像这样:
if let getParseImg = object["image"] as? PFFile{
所以在那之后,一切顺利并编译,但它绝对没有做任何事情,它没有获取和显示图像,甚至没有打印 "Retrieving Image",任何想法我该如何解决这个,我是 Parse 的新手,所以还在熟悉它。
提前致谢!
您需要运行查询。另外,我使用了一个名为 imagesDict 的字典来确保您的照片以正确的顺序返回。
var query = PFQuery(className: "ClassImage")
query.findObjectsInBackgroundWithBlock { (objects: [AnyObject]?, error: NSError?) -> Void in
if error == nil {
let imageObjects = objects as! [PFObject]
for (index, object) in enumerate(imageObjects) {
let thumbnail = object["image"] as! PFFile
thumbnail.getDataInBackgroundWithBlock{(imageData: NSData?, error: NSError?) -> Void in
if error == nil {
if let image = UIImage(data: imageData!) {
self.imagesDict[index] = image
self.theTableView.reloadData()
}
}
}
}
}
}
所以我从昨天开始就一直在尝试从 Parse 中检索图像,但我很困惑。我读过类似的问题和例子,但都是人们先保存一些图像,然后再检索它。我想做的只是检索我手动上传的图像进行解析,我一直在尝试这样做:
//Retrieving image from parse
var object = PFObject(className:"ClassImage")
let getParseImg = object["image"] as! PFFile
getParseImg.getDataInBackgroundWithBlock {
(imageData: NSData?, error: NSError?) -> Void in
if (error == nil){
if let imageData = imageData{
println("Retrieving Image")
let img = UIImage(data:imageData)
self.imageView.image = img
}
}
}
在第二行,它抛出一个 "unexpectedly found nil while unwrapping an Optional value",我已经尝试过 "if let getParseImg",然后它抛出另一个错误,最后该行看起来像这样:
if let getParseImg = object["image"] as? PFFile{
所以在那之后,一切顺利并编译,但它绝对没有做任何事情,它没有获取和显示图像,甚至没有打印 "Retrieving Image",任何想法我该如何解决这个,我是 Parse 的新手,所以还在熟悉它。
提前致谢!
您需要运行查询。另外,我使用了一个名为 imagesDict 的字典来确保您的照片以正确的顺序返回。
var query = PFQuery(className: "ClassImage")
query.findObjectsInBackgroundWithBlock { (objects: [AnyObject]?, error: NSError?) -> Void in
if error == nil {
let imageObjects = objects as! [PFObject]
for (index, object) in enumerate(imageObjects) {
let thumbnail = object["image"] as! PFFile
thumbnail.getDataInBackgroundWithBlock{(imageData: NSData?, error: NSError?) -> Void in
if error == nil {
if let image = UIImage(data: imageData!) {
self.imagesDict[index] = image
self.theTableView.reloadData()
}
}
}
}
}
}