【问题标题】:Issue converting NSData to UIImage via Parse.com download通过 Parse.com 下载将 NSData 转换为 UIImage 的问题
【发布时间】:2015-07-16 18:53:49
【问题描述】:

我遇到了一个奇怪的问题。我的应用程序在 iPhone 6 模拟器中运行良好,但在任何其他模拟器或我的 iDevice 上都不能。这是主要代码

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


            let imageObjects = objects as! [PFObject]


            if let myObjects = objects {
                for object in myObjects {

                     let myTitle = object["imageName"] as! NSString
                     println(myTitle)
                    let thumbNail = object["imageFile"] as! PFFile
                   // println(thumbNail)
                thumbNail.getDataInBackgroundWithBlock({
                        (imageData: NSData?, error: NSError?) -> Void in
                        if (error == nil) {

                            self.imageArray.append(imageData!)
                            let image = UIImage(data:imageData!)

                            self.imageView.contentMode = .ScaleAspectFit
                            self.imageView.image=image
                        }

                    })//getDataInBackgroundWithBlock - end

                }//for - end

            }

        }//end of if
        else{
            println("Error in retrieving \(error)")
        }

    }//findObjectsInBackgroundWithblock - end

我认为这条线是罪魁祸首

let image = UIImage(data:imageData!)

但我不知道为什么。 "image" 在除 iPhone 6 模拟器之外的所有其他设备中返回 nil。任何建议都会很棒。 谢谢

注意:图像在 iPhone 6 模拟器中显示得很好。我正在使用情节提要和未选中的自动布局。

【问题讨论】:

  • 尝试重置模拟器。
  • 做到了!谢谢。我不敢相信这就是我所要做的,我很尴尬我自己没想到。那是 2 小时,我再也回不来了 :)
  • 太棒了!我会继续做这个答案。

标签: ios swift parse-platform uiimage nsdata


【解决方案1】:

不应该出现应用只能在一个模拟器设置上运行的情况。重置模拟器应该可以解决问题。

【讨论】:

    【解决方案2】:

    一种可能是您之前成功下载了此数据,并且 Parse 已在您的 iPhone 应用程序中缓存了响应,但您已经远程更改了 PFObject 并删除了图像数据。或者可能更改了代码。

    由于 Parse.com 缓存图像,它可能仅在此设备上工作,因为 Parse.com 缓存。

    您可以使用调试器,或者更糟的是,使用 NSLog 来确定什么是 nil。您需要确定imageData 是否返回零。另外,您是否有理由假设 imageData 不为空?我指的是对imageData! 的引用——这似乎很危险。没有错误并不意味着imageData 不为空。

    【讨论】:

      猜你喜欢
      • 2011-09-22
      • 2010-12-21
      • 2013-11-29
      • 2015-06-13
      • 1970-01-01
      • 2015-11-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多