UIImage 没有正确转换 NSData

UIImage not converting NSData properly

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

我已经检查了 Parse 上的所有图像,我可以 see/get 从数据库中获取所有图像。我还重新上传了图片,以防它们出现问题。

这是我获取 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 
 } 
}