Swift 1.2 [AnyObject] 没有名为 'objectForKey' 的成员

标签 swift

升级到 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 .

如果 objectsNSDictionary 数组,请尝试以下操作:

self.photoNames = objects?.map { ($0 as? NSDictionary)?.objectForKey("PhotoName") as! String } ?? []

关于Swift 1.2 [AnyObject] 没有名为 'objectForKey' 的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30116457/

相关文章:

ios - 使用 swift 获取所有 facebook 联系人

swift - 在 Swift 中使用 DispatchQueue 时出现时间差异

swift - 无法在sqlite3中获取绑定(bind)参数名称

ios - Playground - DispatchQueue.main.asyncAfter 不工作

objective-c - 生成的 header 位置 "MyProject-Swift.h"

arrays - 简单的快速数组追加不起作用

ios - iOS9 和 OS X 10.11 El Capitan 中新 Notes 应用程序的公共(public) API

ios - 将 UIImage 保存到 UserDefault 为数组,Swift

swift - 在 SwiftUI 中点击 MKMapView

Swift - SDWebImage/类别 "WebCache"的重复定义