如何从Parse获取randomn行?

时间:2015-07-10 16:28:14

标签: ios swift parse-platform

我有这样的问题: 在我的Parse服务器中,我在类名“Job”中创建了几个对象 我的目标是在点击按钮后将对象的字段发送到特殊的LabelName.text字段。所以通过点击我随机改变对象。

这是我的静态重试对象的代码

 func retriveJobData() {
    var query: PFQuery = PFQuery(className: "Jobs")
    query.getObjectInBackgroundWithId("AUeuvj0zk2") {
        (newJobObject: PFObject?, error: NSError?) -> Void in

        if error == nil && newJobObject != nil {
            println(newJobObject)

            if let newJobObject = newJobObject {

            self.PrcieTextField.text = newJobObject["jobPrice"] as? String

            self.DateTextField.text = newJobObject["jobDate"] as? String

            self.DescriptionTextField.text = newJobObject["jobDescription"] as? String

            }
        } else {
            println(error)
        }
    }
}

这是我的实施我的随机选择。 我找不到任何信息,Parse是否自动为其行提供数字。

func retriveaDataRandomn() {
    var query: PFQuery = PFQuery(className: "Jobs")
    query.findObjectsInBackgroundWithBlock { (objects: [AnyObject]?, error:NSError?) -> Void in

        if error == nil {
            var count  = query.countObjects()
            var randomnNumber = Int(arc4random_uniform(UInt32(count)))
            var randomnNumberCast = Int(randomnNumber)
            query.whereKey("WhatShouldIwriteHere", equalTo: randomnNumberCast)

            query.getFirstObjectInBackgroundWithBlock({ (object: PFObject?, error: NSError?) -> Void in

                if error == nil && newJobObject != nil {
                    //the same code as above in static retriving
                }

            })

        }

    }
}

感谢您的帮助,无论如何

1 个答案:

答案 0 :(得分:2)

为什么要通过查询选择随机元素?您可以选择第一个查询为您提供的对象数组的随机元素:

let randomIndex = Int(arc4random()) % query.countObjects
let randomObject = objects![randomIndex]

请注意,您应该确保对象不是nil。