swift - 如何从解析中检索图像并将其快速显示在 UIImageView 中?

标签 swift parse-platform imageview information-retrieval

所以我从昨天开始就一直在尝试从 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{

所以在那之后,一切顺利并编译,但它绝对没有做任何事情,它没有获取和显示图像,它甚至没有打印“检索图像”,任何想法如何解决这个问题,我我是 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()

                        }
                    }
                }

            }

        }
    }

关于swift - 如何从解析中检索图像并将其快速显示在 UIImageView 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32001674/

相关文章:

ios - SKAction followPath 无法按预期使用两个圆圈(八形)

java - 更新 'Android Support Libary' v22 后无法连接到 Parse.com

json - Swift - 解析 - 如何循环进入 PFObject 属性

android - 在 Android 设备上保存解析安装记录时获得授权

java - 在全屏模式下绘制图像 Android

ios - 如何在 Swift 中将 xib 的垂直长度设置为代码

ios - NSAttributedString 项目符号列表问题

ios - 以编程方式执行 segue 时如何使用 PrepareForSegue

java - 如果收到 HTTP 错误 403,如何从 JavaFx 中的 URL 加载图像

android - 如何在 linearLayout 中将 View 置于最前面