【问题标题】:Load PFFile Into UIImageView in Swift 2.1/Xcode 7.2在 Swift 2.1/Xcode 7.2 中将 PFFile 加载到 UIImageView
【发布时间】:2015-12-03 13:23:37
【问题描述】:

我真的很难尝试从 Parse 加载图像...我已经设置好它通过 JavaScript 将图像作为文件发送到 Parse(见屏幕截图),现在我试图在 Swift 2.1/Xcode 7.2 Beta 中将图像加载到我的 UIImageView 中。没有错误返回,应用程序的其余部分按预期运行。不过,我似乎无法让它工作。任何帮助将不胜感激。

let currentUser = PFUser.currentUser()
    if currentUser != nil {

        if let companyImage = currentUser!["pic"] as? PFFile {
            companyImage.getDataInBackgroundWithBlock({ ( imageData: NSData?, error: NSError?) -> Void in
                if error == nil{
                    self.pic.image = UIImage(data: imageData!)
                } else {
                    print("No image found")
                }
            })
        }

Here's a screenshot of what shows up in Parse after I save it through a website I created with JavaScript

编辑:

我还在我的应用程序中编辑了 Info.plist 文件,以确保可以处理向 Internet 发出的请求,并且它工作正常,因为我能够加载用户的用户名。

【问题讨论】:

  • 用文件填充其余行。您可能会收到一个错误,因为其他两行是空的,所以它不返回任何内容。

标签: ios swift parse-platform swift2 swift2.1


【解决方案1】:

我不认为当前用户包含默认以外的其他对象。确保您拥有该行的用户数据。 所以试试这个

var query = PFUser.query()
query.whereKey("objectId", equalTo: PFUser.currentUser().objectId)
query.findObjectsInBackgroundWithBlock {
  (objects: [PFObject]?, error: NSError?) -> Void in

  if error == nil {
    // The find succeeded.
    print("Successfully retrieved \(objects!.count) scores.")
    // Do something with the found objects
    if let objects = objects {
if let companyImage = objects[0]!["pic"] as? PFFile {
            companyImage.getDataInBackgroundWithBlock({ ( imageData: NSData?, error: NSError?) -> Void in
                if error == nil{
                    self.pic.image = UIImage(data: imageData!)
                } else {
                    print("No image found")
                }
            })

    }
  } else {
    // Log details of the failure
    print("Error: \(error!) \(error!.userInfo)")
  }
}

【讨论】:

  • 你是个奇迹创造者.... 非常感谢! :) 只是一个附带问题,如果您不知道,则不必回答,但是如果我试图从帖子中检索图像,我将如何去做呢?再次感谢!
  • 如果您能提供更多信息,我想为您提供帮助。来自哪个帖子?
  • 对,我很抱歉太含糊了......我经常这样做。 xD 我制作了一个脚本,它通过我在 Parse 中的一个名为“Posts”的类。完成后,它会打印出 3 个帖子(有)。我如何能够获取帖子中某些内容的信息,例如“post[0].title”?我尝试了几种变体,但没有任何效果...该方法与您上面使用的方法相似,如果您想将其用作参考...
  • 如果让帖子=对象为? [PFobject]{for post in posts{var title = post["title"]} }
  • 感谢您的回复,但它仍然无法正常工作......这是我使用的代码:'if let posts = objects as? [PFObject]{ 对于帖子中的帖子{ let title = post["title"] print(title!) } }'
猜你喜欢
  • 2015-07-08
  • 2016-01-15
  • 1970-01-01
  • 2015-02-20
  • 1970-01-01
  • 1970-01-01
  • 2016-11-14
  • 2011-01-31
  • 1970-01-01
相关资源
最近更新 更多