尝试从查询中将 Parse PFFiles 加载到 UITableView

Trying to load Parse PFFiles into UITableView from query

我是一名正在接受培训的 swift 新程序员,运行 遇到了我正在尝试组装的应用程序的问题。

我在论坛中进行了搜索,找到了非常有用的信息,但遗憾的是,我无法根据结果解决我的问题。

我有一个应用程序设置为将用户图像上传为 PFFiles 进行解析,但似乎无法将它们下载到我的 table 视图控制器中的 table 视图。 我尝试实现的大部分代码都没有导致任何错误,但也没有下载所需的图像。

如果这是一个非常基本的问题,我深表歉意,但我已经用尽了所有研究渠道。

我将图像上传到一个名为 Post 的 class,并希望能够根据当前用户的 ID 提取图像。

我试过查询信息,但总是返回一个错误,提示系统无法为查询找到任何内容。我不确定是否有更好的方法来上传和 class 验证解析信息,或者我是否没有正确编码回调。我基本上希望能够检索用户上传的图像和描述,并将它们显示在 "Account" 页面上。

我在 Xcode 7.2 Swift 2.

工作

所以我们必须关心三件事:

1. post

的结构

如果将User 存储在指针中会更好。指针更容易保存和检索。 (指针是一种呈现一对多关系的方式,但在我们的例子中,这意味着一对一)。 因此,在数据浏览器 (parse.com) 中将列 "userID" 替换为 "user" 类型:指针,目标 class:用户。 然后在 xCode

post["user"] = PFUser.currentUser()

2。获取用户

的所有 post

添加此代码:

      let query = PFQuery(className: "Post")
    query.whereKey("user", equalTo: PFUser.currentUser()!)
    query.getFirstObjectInBackgroundWithBlock { (obj: PFObject?, err: NSError?) -> Void in
        if err != nil{
            // DO something with the objets:
            myArray = obj
        }
    }

3。获取图片

假设您有一个像 imageView

这样的 ImageView
    let file: PFFile = post["imageFile"] as! PFFile
    file.getDataInBackgroundWithBlock { (data: NSData?, err: NSError?) -> Void in
        if data != nil{
            imageView.image = UIImage(data: data!)
        }
    }

大功告成:) 但只是改进代码的一点点:

您不需要在按下确定后关闭警报,因为如果您将样式设置为 .Cancel,这会自动完成!所以改变

     alert.addAction((UIAlertAction(title: "OK", style: .Default, handler: { (action) -> Void in

self.dismissViewControllerAnimated(真,完成:无)})))

    alert.addAction((UIAlertAction(title: "OK", style: .Cancel, handler: nil)))