簡體   English   中英

Swift-[NSObject:AnyObject]! 不是“字典”的子類型 <String, AnyObject>

[英]Swift - [NSObject : AnyObject]!' is not a subtype of 'Dictionary<String, AnyObject>

我收到此錯誤消息

[NSObject : AnyObject]!' is not a subtype of 'Dictionary<String, AnyObject>

我的密碼

self.client.getAccessToken(code, success: { (accessTokenData:Dictionary<String, AnyObject>) -> Void in // error here
                    var accessToken = accessTokenData["access_token"]
                    self.requestMeWithToken(accessToken)
                    }, failure: { (error:NSError!) -> Void in
                    println("Quering accessToken failed \(error)")
                })

您可以在成功完成時完全省略類型規范。 您可能想要這樣的東西:

self.client.getAccessToken(code, success: { (accessTokenData) -> Void in // error here
    if let dict = accessTokenData as? Dictionary<String, AnyObject> {
        let accessToken = dict["access_token"]
        self.requestMeWithToken(accessToken)
    }
}, failure: { (error:NSError!) -> Void in
    println("Quering accessToken failed \(error)")
})

但是,只有將accessTokenData成功地轉換為[String:AnyObject]字典后,此方法才有效。

從錯誤消息中,您應該將Dictionary<String, AnyObject>更改為[NSObject : AnyObject]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM