我正在尝试将 PFUser(来自 Parse.com)转换为 [String : AnyObject] 类型的字典,但出现以下错误,这让我感到非常困惑。我做了谷歌搜索,发现了以下两个 SO 问题,但是,这仍然对解决我的问题没有帮助:
错误:
'(String) -> AnyObject?' does not have a member named 'subscript'
找到这两个帖子: relevant SO post 1 , relevant SO post 2
我的 PFUser 有键:fullName、email、latitude、longitude 和 linkedInUrl .
由于上述键值的类型是 String 和 Double 的混合。所以我正在尝试创建以下词典:
var userData : [String: AnyObject] = [
"fullName" : pfUser.valueForKey("fullName") as? String,
"latitude" : pfUser.valueForKey("latitude") as? Double,
"longitude" : pfUser.valueForKey("longitude") as? Double,
"email" : pfUser.valueForKey("email") as? String,
"linkedInUrl" : pfUser.valueForKey["linkedInUrl"] as? String
]
我的 XCode 版本是 6.4。我感谢您的帮助。
最佳答案
您正在声明错误类型的 userData
。它必须是 [String: AnyObject?]
因为你的值是可选的。
并且不要忘记将此行 "linkedInUrl": pfUser.valueForKey["linkedInUrl"] 更改为? String
与此行 "linkedInUrl": pfUser.valueForKey("linkedInUrl") as?字符串
.
你的代码将是:
var userData : [String: AnyObject?] = [
"fullName" : pfUser.valueForKey("fullName") as? String,
"latitude" : pfUser.valueForKey("latitude") as? Double,
"longitude" : pfUser.valueForKey("longitude") as? Double,
"email" : pfUser.valueForKey("email") as? String,
"linkedInUrl" : pfUser.valueForKey("linkedInUrl") as? String
]
关于Swift: '(String) -> AnyObject?' 没有名为 'subscript' 的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32152440/