如何快速从解析中加载图像?

Posted

技术标签:

【中文标题】如何快速从解析中加载图像?【英文标题】:How do I load an image from parse in swift? 【发布时间】:2014-07-12 21:04:21 【问题描述】:

我想知道是否有人可以帮助我,我是应用程序开发的新手 我正在从我的应用程序上传图像以在解析文档的帮助下毫无问题地解析。

    let imageData = UIImagePNGRepresentation(scaledImage)
    let imageFile: PFFile = PFFile(data: imageData)

    var userPhoto = PFObject(className: "postString")
    userPhoto["imageFile"] = imageFile
    userPhoto.saveInBackground()

但是当我添加代码来检索图像时,我有点迷路了:/

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

“另一张照片”从何而来? Parse 确实说“这里我们从另一个名为 anotherPhoto 的 UserPhoto 中检索图像文件:”

【问题讨论】:

不清楚你在问什么。这看起来像是一个关于 Parse API 而非 Swift 的问题。 【参考方案1】:

anotherPhoto 将是您的postString 的一个实例(在您的上传示例中为userPhoto)。适合您的文件下载示例如下:

let userImageFile = userPhoto["imageFile"] as PFFile
userImageFile.getDataInBackgroundWithBlock 
    (imageData: NSData!, error: NSError!) -> Void in
    if !error 
        let image = UIImage(data:imageData)
    

任何 PFFile 都必须从普通 PFObject 引用,否则无法检索。 PFFile 对象本身不会显示在数据浏览器中。

【讨论】:

如果我想在另一个函数中检索图像,我需要全局声明 userPhoto 吗? 全局变量可能不是答案,但是是的,您需要引用该对象。如果您正在使用当前登录的用户,则已经有一个全局 PFUser.currentUser(),否则您可能有一个用户对象作为查询的结果。 谢谢你,我让它工作了,如果你不介意我还有一个问题,我如何检查一个键是否包含任何数据,例如,在解析时,我有一个名为 imageFile 的键,在加载到变量之前如何检查它是否为空? ://

以上是关于如何快速从解析中加载图像?的主要内容,如果未能解决你的问题,请参考以下文章

图像在 iframe 中加载后未从缓存中加载

如何使用颤振加载图像

图像未在 Flutter 中加载

如何在 Ionic 2 或 3 应用程序中加载实际图像之前显示占位符图像

iOS 如何从相机加载照片以解析 Swift

如何在 iPhone 应用程序的 UITableCell 中的背景中加载图像