从Parse调用随机objectId

时间:2014-11-24 04:43:01

标签: ios swift parse-platform

在我的VoteCount类中的Parse数据控制台上,我有一个名为objectId的String数据的垂直列,该类中的每个水平数据行都有一个唯一的objectId。正如您在此处所见,我从objectId BiEM17uUYT检索数据:

    var query = PFQuery(className: "VoteCount")
    query.getObjectInBackgroundWithId("BiEM17uUYT") {
        (voteCount1: PFObject!, error: NSError!) -> Void in
        if error != nil {
            NSLog("%@", error)
        } else {
            let votes = voteCount1["votes"] as Int
            let votes2 = voteCount1["votes2"] as Int
            let option1 = voteCount1["optionName"] as String
            let option2 = voteCount1["optionName2"] as String
            self.showOption1.text = "\(option1)"
            self.showOption2.text = "\(option2)"

        }

我只是不知道如何从随机objectId调用数据。我只能调用来自特定objectId的数据,在本例中为BiEM17uUYT。如何从整个列中的随机objectId收集所有数据,而不仅仅是BiEM17uUYT?这将允许我纯粹从Parse更新我的应用数据,而不是让我不断提交全新的更新。

注意:喜欢"投票","投票2"," optionName"和" optionName2"," objectId"是另一列数据。

1 个答案:

答案 0 :(得分:0)

简答:在你的班级上,创建一个带有数字的变量,增加该数字,使其始终唯一且顺序。然后调用Parse获取对象总数并运行RAND以获得介于0和最大数字之间的数字。然后在右侧字段中查询具有该编号的对象。

更长的答案:尝试这样的事情:

var query = PFQuery(className: "VoteCount")
query.countObjectsInBackgroundWithBlock {
  (count: Int, error: NSError!) -> Void in
  if error == nil {
    randNumber = arc4random_uniform(count)
    query2.whereKey("voteNumber", equalTo:randNumber)
    query2.getFirstObjectInBackgroundWithBlock {
      (voteCount1: PFObject!, error: NSError!) -> Void in
      if error != nil {
        NSLog("%@", error)
      } else {
        let votes = voteCount1["votes"] as Int
        let votes2 = voteCount1["votes2"] as Int
        let option1 = voteCount1["optionName"] as String
        let option2 = voteCount1["optionName2"] as String
        self.showOption1.text = "\(option1)"
        self.showOption2.text = "\(option2)"

    }
  }
}