从Parse加载特定帖子的评论

时间:2015-09-17 15:50:12

标签: ios swift parse-platform

我有一个Post类,它是所有帖子的集合。每篇文章都有相关评论。我使用PFQueryTableViewController在一个视图中加载帖子,使用PFQueryTableViewController加载下一个特定帖子的评论。

帖子全部正确加载到第一个PFQueryTableViewController。我无法弄清楚的是如何有效地加载与特定帖子相对应的评论。

我目前的策略是:在Post的tableViewController中,在prepareForSegue中,传递单击的特定帖子的objectId。我使用以下代码:

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

    let nextViewController = segue.destinationViewController as! SecondTableViewController

    var row = tableView.indexPathForSelectedRow()?.row
    let nameToPass = idArray[row!]
    nextViewController.nameToPass = idArray[row!]



   }

但我不确定从哪里去。以下是我的Comments类的代码,PFObject类:

  import UIKit
  import ParseUI
  import Parse
  import Foundation

  class Comments: PFObject, PFSubclassing {
@NSManaged var image: PFFile


@NSManaged var short_decription: String?

@NSManaged var nameToGet: String?

//1
class func parseClassName() -> String {
    return "Comments"
}

//2
override class func initialize() {
    var onceToken: dispatch_once_t = 0
    dispatch_once(&onceToken) {
        self.registerSubclass()
    }
}

override class func query() -> PFQuery? {
    println("name to get is next")

    let query = PFQuery(className: Comments.parseClassName())
    //query.whereKey("to_post", equalTo: <individual Post object here>)
    query.includeKey("from_user")
    query.orderByDescending("createdAt")
    return query
}

init(short_decription: String?) {
    super.init()


}

override init() {
    super.init()



     }

  }

这条线是我需要解决的问题:

    //query.whereKey("to_post", equalTo: <individual Post object here>)

如何将单个Post对象放入其中?我认为这可能是某种方式,因为我可以传递Post的objectId我想要到SecondTableviewController(加载评论的PFQueryTableViewController),但只是不确定如何。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

为了使查询工作,您需要使用您正在寻找的非常PFObject作为&#34; equalTo&#34;参数。

即。

query.whereKey("to_post", equalTo: myObject)

你只需要在segue期间传递帖子的PFObject,而不是它的ID。

注意:这都是假设&#34; to_post&#34; column是帖子类的指针。

答案 1 :(得分:0)

您可以通过传递Comments的objectId来调用类Post方法来获取查询。像这样:

class func query(postObjectId: String) -> PFQuery? {
    println("name to get is next")

    let query = PFQuery(className: Comments.parseClassName())
    //query.whereKey("to_post", equalTo: <individual Post object here>)
    query.includeKey("from_user")
    query.orderByDescending("createdAt")
    return query
}

您可以从objectId创建解析对象并传递它。