我有一个PFQueryTableViewController。
我还有一个随机生成的数字数组,从1到Parse类计数。
在Parse中,类中的每个对象都被赋予一个数字(1,2,3等)
我想在Parse到表视图单元格中从此类中获取对象,顺序取决于数组的顺序。
例如,我的数组将是[3,2,5,1,4]
我想按顺序查询键“number”等于那些数字的位置..
到目前为止,我有这个:
// Define the query that will provide the data for the table view
override func queryForTable() -> PFQuery{
var query = PFQuery(className: "Stores")
for i in 1...10 {
query.whereKey("number", equalTo: numArray[i])
}
return query
}
和
//override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath, object: PFObject?) -> PFTableViewCell {
var cell = tableView.dequeueReusableCellWithIdentifier("cell") as! ExploreCell!
if cell == nil {
cell = ExploreCell(style: UITableViewCellStyle.Default, reuseIdentifier: "cell")
}
但是,每当我运行时,它只会从1个对象中获取信息。我的表视图只有1个单元格可以抓取数据。
答案 0 :(得分:0)
我想这是Swift Code(我实际上不知道Swift)。
无论如何,我没有看到需要(尝试)按照您想要的顺序查询对象。实际上使用query.whereKey
次,您只需使用最后一次。
你应该做什么,实际上是查询对象然后对它们进行排序(除非你想要一个升序/降序)。
另外请记住,Parse Query是异步的,所以可能像你所做的那样构建函数将无法正常工作。
编辑:这是您可能想要使用的代码类型:
var query = PFQuery(className:"GameScore")
query.whereKey("playerName", equalTo:"Sean Plott")
query.findObjectsInBackgroundWithBlock {
(objects: [AnyObject]?, error: NSError?) -> Void in
if error == nil {
// The find succeeded.
println("Successfully retrieved \(objects!.count) scores.")
// Do something with the found objects
if let objects = objects as? [PFObject] {
for object in objects {
println(object.objectId)
}
}
} else {
// Log details of the failure
println("Error: \(error!) \(error!.userInfo!)")
}
}
objects
变量是您要排序的数组。
Parse Documentation对我来说一直有用,可以更好地理解Parse