UIImage没有正确转换NSData



我正在使用Parse作为后端应用程序工作。当我尝试加载图像时我得到的NSData不是空的但当我尝试将它转换为UIImage时我得到的图像是nil

我已经检查了Parse上的所有图像,我可以看到/从数据库中获取所有图像。我也重新上传了图片,以防他们有什么问题。

这里是我获取NSData并将其转换为UIImage的代码:

let myImage = object.objectForKey("imagem") as! PFFile
myImage.getDataInBackgroundWithBlock({(imageData : NSData?, error : NSError?) -> Void in
                if error == nil {
                    if let imageData = imageData{
                            if let newImage = UIImage(data: imageData){
                                myClass.imagem = newImage
                            }    
                        }
                    }
                    self.collectionView?.reloadData()
                })

试试这段代码。我希望它能对你有所帮助。

let userImageFile = anotherPhoto["imageFile"] as PFFile
userImageFile.getDataInBackgroundWithBlock 
{
    (imageData: NSData?, error: NSError?) -> Void in
    if error == nil 
    {
        if let imageData = imageData 
        {
           let image = UIImage(data:imageData)
        }
    }
}

要了解更多细节,可以参考解析文档。看这个https://www.parse.com/docs/ios/guide#files-images

事实证明我所做的方式是正确的,但我通过代理工作,每当数据被发送到我的应用程序时,它没有返回完整的NSData。所以问题在于代理而不是代码。谢谢你的回复。

尝试使用以下代码片段

if let imageData = imageData 
{
 var newImage : UIImage! = UIImage(data: imageData!)
 if image
 {
   myClass.imagem = newImage 
 } 
}

最新更新