Swift Parse.com数据查询到字典

Swift Parse.com数据查询到字典,swift,parse-platform,Swift,Parse Platform,我正在尝试从parse.com获取数据,并将数据添加到数组或字典中。我不断地出错——有人知道从解析中获取数据的最佳解决方案吗。是否可以返回字典并在另一个函数中使用它 致命错误:在展开可选值时意外发现nil func getQuote() { var query = PFQuery(className: "Quote") var quote = PFObject(className:"Quote") var quoteDictionary: [String:String]

我正在尝试从parse.com获取数据,并将数据添加到数组或字典中。我不断地出错——有人知道从解析中获取数据的最佳解决方案吗。是否可以返回字典并在另一个函数中使用它

致命错误:在展开可选值时意外发现nil

func getQuote() {

    var query = PFQuery(className: "Quote")
    var quote = PFObject(className:"Quote")
    var quoteDictionary: [String:String]!

    query.findObjectsInBackgroundWithBlock { (objects: [AnyObject]!, error: NSError!) -> Void in
        if error == nil {
            if let objects = objects as? [PFObject] {
                for object in objects {

                    var quoteText = object["quoteText"] as String
                    var quoteAuthor = object["quoteAuthor"] as String

                    quoteDictionary[quoteAuthor] = quoteText

                    println(quoteDictionary)
                    println(quoteAuthor)
                    println(quoteText)

                }


            }

        } else {
            println("Error")
        }
    }

}

安全起见,使用默认值:

let quoteText = object["quoteText"] as? String ?? ""
let quoteAuthor = object["quoteAuthor"] as? String ?? ""

这可以安全地处理空值。

quoteText和quoteAuthor是否都是字符串列,并且这两列是否在每一行中都包含非nil值?否则,您将在声明为接受字符串值的字典中插入一个nil。顺便说一句,仅仅使用PFObjects有什么问题,为什么要将它们简化为字典?是的,quoteText和quoteAuthor都是字符串列,它们都包含值。关于PFObject,你能给我举个例子吗。我已经看到并尝试使用文档中描述的许多方法,但我没有找到工作。你不必帮助我,但如果你能给我一些建议,那就太好了。我很想提供更多的帮助,但我在swift方面不是很清楚。然而,在objective-c应用程序中,我经常使用解析返回的PFObjects,将它们视为字典。它们响应所有键和objectForKey:和setObject:forKey:。这通常是我需要的99%。是否可以在for循环中返回值?您的函数可以用与解析函数相同的方式声明完成块,或者您可以将结果分配给调用parse的对象的某个实例属性。i、 例如,如果类是表视图控制器,则通常的模式是(在find completion块中)将结果分配给数据源数组,并重新加载表视图。