我有一个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
),但只是不确定如何。任何帮助将不胜感激。
答案 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创建解析对象并传递它。