【问题标题】:trying to retrieve image from parse.com but getting error试图从 parse.com 检索图像但出现错误
【发布时间】:2015-12-02 07:46:36
【问题描述】:
   func loadImages() {

    var query = PFQuery(className: "CollegeCover")

    query.findObjectsInBackgroundWithBlock { (objects, error) -> Void in

        if (error == nil) {

            let imageObjects = objects! as [PFObject]

            for object in objects! {

                let thumbNail = object["image"] as! PFFile


                thumbNail.getDataInBackgroundWithBlock{ (objects, error) -> Void in

                    if (error == nil) {

                        let imageObjects = objects as? [NSData?]


                        let image = UIImage(data:objects!)

                        self.userImageView.image = image
                        print(image)
                    }}}

        }
        else{
            print("Error in retrieving \(error)")
        }

    }//findObjectsInBackgroundWithblock - end


     }

我正在尝试检索存储在 parse.com 的服务器中的图像,但我不知道为什么会出现错误,并且不确定我获取图像的方法是否正确,如果有请帮助我身体知道如何正确地做,或者缺少什么或做错了什么,得到的错误是

致命错误:在展开可选值时意外发现 nil (lldb)

【问题讨论】:

  • 您的方法对我来说似乎不错。也许您可以添加一些打印或断点,以便您知道它在哪里中断。此外,您可以尝试为结果指定特定名称:您可以在第一个查询中将它们命名为 imageFiles,在第二个查询中命名为 imageDatas,而不是对象。
  • 哪一行让你失败了?
  • 这一行 - 让 thumbNail = object["image"] as! PFFile ,在 thumbnail.getdata 的上方.....@Polis
  • 好吧,让我们看看@QuentinMalgaud
  • 另外,请确保“image”是 Parse 服务器上实例的名称。确保它不是“图片”之类的东西

标签: ios swift parse-platform swift2


【解决方案1】:

我可能错了,但我认为你得到 nil 结果的唯一原因是你使用了不正确的列名,即“image”。您确定这是 Parse 中列的准确命名吗?

一旦您克服了该错误,您应该能够正常加载图像,因为您的代码看起来不错。但是,您也可以考虑 PFImageView 并省去额外编码的麻烦,因为您可以将 PFFile 对象指定给它的 file 属性。示例见here

【讨论】:

  • 嘿@polis 那是我的愚蠢你是对的哈哈哈列的名称不同哈哈哈但谢谢我真的很感激这有一个美好的一天
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-21
  • 2021-10-22
  • 1970-01-01
相关资源
最近更新 更多