ios - 如何从 Parse 中获取随机行?

标签 ios swift parse-platform

我有这样的问题: 在我的解析服务器中,我在类名“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
                }

            })

        }

    }
}

谢谢你的帮助

最佳答案

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

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

请注意,您应该确保对象不为零。

关于ios - 如何从 Parse 中获取随机行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31345864/

相关文章:

iOS 动画主 UIViewController 的 View 高度

ios - 更改从 Swift 中的 Storyboard创建的弹出窗口的箭头颜色

ios - 如何在 Xcode 中维护多个本地化文件

ios - Swift 工具栏/导航栏

java - 解析对象 try/catch 异常错误

ios - 如何在 objective c 中启用自动布局时增加 uiview 的高度

ios - 使用 CASpringAnimation 动画化 CAShapeLayer 路径

ios - 在 Retina iPad 上全屏显示 CAEAGLLayer 时出现问题

angularjs - 一起测试 Parse Promise 和 $http 请求时出错

ios - Parse.com WhereKey :containedIn doesn`t show any results - objectId