【发布时间】:2014-11-25 21:53:13
【问题描述】:
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)
}
}
得到错误“AnyObject”不可转换为字符串。
object.objectForKey("name")
还给出错误:“找不到接受提供的参数的 'objectForKey' 的重载”
现在我也尝试了“as PFObject”或类似的东西,但它也会导致错误,而且 Parse 的文档没有显示类似的东西。 “类型 '[AnyObject]' 不能隐式向下转换为 'PFObject';您的意思是使用 'as' 强制向下转换吗?”
然后我应用修复,新的错误是“类型'PFObject'不符合协议'SequenceType'
也尝试在循环内向下转换
let pf = object as PFObject
但这似乎没有帮助,因为当我这样做时
let name = pf["name"]
我得到“'AnyObject' 不能转换为 'String'”
感谢您的帮助。我确定我遗漏了一些明显的东西,因为我还没有找到任何东西;
【问题讨论】:
-
你试过
let name = pf["name"] as String吗? -
做到了,谢谢。所以你总是不得不像这样投射东西吗?在下面添加它作为答案,我会选择它。
标签: ios swift parse-platform