我正在使用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()
})
答案 0 :(得分:0)
试试这段代码。我希望它会对你有所帮助。
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
答案 1 :(得分:0)
事实证明我的工作方式是正确的,但我正在通过代理工作,每当数据被发送到我的应用程序时,它都没有返回完整的NSData。所以问题在于代理而不是代码。谢谢你的回复。
答案 2 :(得分:0)
尝试使用以下代码段
if let imageData = imageData
{
var newImage : UIImage! = UIImage(data: imageData!)
if image
{
myClass.imagem = newImage
}
}