使用Swift查询解析

时间:2014-10-17 00:51:12

标签: ios swift parse-platform

我正在构建一个能够处理才艺表演投票的应用程序。我想运行针对Parse数据库运行的查询,并返回“Total”。这就是我所拥有的:

 var query = PFQuery(className:"points")
    query.whereKey("Act", equalTo:"Act 1")
    query.findObjectsInBackgroundWithBlock {
        (objects: [AnyObject]!, error: NSError!) -> Void in
        if error == nil
        {
            // The find succeeded.
            var test = objects["Total"]
            println(test)

            // Do something with the found objects
        } else {
            // Log details of the failure
            println("nope")
        }
    }

然而,当我运行它时,控制台会打印“Optional 3”。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

查询字典总是返回一个可选字典,以处理密钥不存在时的情况。

您可以执行强制解包操作符!

var test = objects["Total"]!

但如果找不到密钥,则会生成运行时异常。更好的方法是使用可选绑定:

if let test = objects["Total"] {
    println(test)
}

区别在于它更安全,if分支仅在objects["Total"]不为零时执行