升级到 Swift 1.2 后,出现错误:
[AnyObject] does not have member named 'objectForKey'
代码:
self.photoNames = objects.map { $0.objectForKey("PhotoName") as! String }
其中objects
是类型[AnyObject]
编辑:(更多代码)
var photoNames: [String] = []
var query = PFQuery(className: "Photos")
query.findObjectsInBackgroundWithBlock ({(objects:[AnyObject]?, error: NSError?) in
if(error == nil){
self.photoNames = objects.map { $0.objectForKey("PhotoName") as! String }
}
else{
println("Error in retrieving \(error)")
}
})
最佳答案
objectForKey:
是 NSDictionary
的成员方法,而不是 AnyObject
。这是Reference .
如果 objects
是 NSDictionary
数组,请尝试以下操作:
self.photoNames = objects?.map { ($0 as? NSDictionary)?.objectForKey("PhotoName") as! String } ?? []
关于Swift 1.2 [AnyObject] 没有名为 'objectForKey' 的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30116457/