如何从Swift中的Parse查询结果访问对象的字段?

shi*_*him 0 ios parse-platform swift

Parse文档提供了使用Swift的查询示例,它们显示了访问内置字段(如objectId或count)的示例,但是如何访问对象的其中一列呢?

    var query = PFQuery(className: "MyObject")
    query.findObjectsInBackgroundWithBlock {
            (objects: [AnyObject]!, error: NSError!) -> Void in
            if !(error != nil) {
                for object in objects {
                    println(object["name"])
            }
            else {
                println("%@", error)
            }
    }
Run Code Online (Sandbox Code Playgroud)

获取错误"AnyObject"不可转换为字符串.

object.objectForKey("name")
Run Code Online (Sandbox Code Playgroud)

还给出一个错误:"无法找到接受所提供参数的'objectForKey'的重载"

现在我也试过"作为PFObject"或类似的东西,但它也导致错误加上Parse的文档没有显示出类似的东西."类型'[AnyObject]'不能隐含地向下转换为'PFObject';你是不是想用'as'强制向下转换?"

然后我应用修复,新错误是"类型'PFObject'不符合协议'SequenceType'

试图在循环内向下倾斜

let pf = object as PFObject
Run Code Online (Sandbox Code Playgroud)

但这似乎没有帮助,因为当我这样做

let name = pf["name"]
Run Code Online (Sandbox Code Playgroud)

我得到''AnyObject'不能转换为'String'"

谢谢你的帮助.我确定我错过了一些明显的东西,因为我还没有找到任何东西;

Pau*_*w11 7

您需要显式转换要检索的属性 -

let name = pf["name"] as String
Run Code Online (Sandbox Code Playgroud)