Swift [NSObject:AnyObject]!和接缝隔离装置
如何从以下函数的结果(字典)中获取字符串值(joinWithSeparator)Swift [NSObject:AnyObject]!和接缝隔离装置,swift,facebook-sdk-4.0,Swift,Facebook Sdk 4.0,如何从以下函数的结果(字典)中获取字符串值(joinWithSeparator) func gameRequestDialog(gameRequestDialog: FBSDKGameRequestDialog!, didCompleteWithResults results: [NSObject : AnyObject]!){ NSLog("resoult.count: %i", results.count) let res = results["to"] //
func gameRequestDialog(gameRequestDialog: FBSDKGameRequestDialog!, didCompleteWithResults results: [NSObject : AnyObject]!){
NSLog("resoult.count: %i", results.count)
let res = results["to"] // This is a Key Value par
let res = results["to"] as Dictionary // Error: has no subscript members
let res = results?["to"] as Dictionary // Error: Value of optional type 'AnyObject' not unwrapped.
...
结果包括:
([NSObject : AnyObject]!) results = 5 key/value pairs {
[0] = {
key = 0x000
value = 0x000
}
[1] = {
key = 0x000
value = 0x000
}
[2] = {
key = 0x000
value = 0x000
}
[3] = {
key = 0x000
value = 0x000
}
[4] = {
key = 0x000
value = 0x000
}
}
我在寻找类似于res.joinWithSeparator(“,”)
的东西来获取一个包含值的字符串
提前感谢我将对Dictionary进行扩展,以获得包含所有值的字符串 大概是这样的:
extension Dictionary {
var joinedValues:String {
return self.values.map { String($0) }.joinWithSeparator(", ")
}
}
用法示例:
let dict = ["name":"Mike", "age":42, "gender":"male"]
let valuesAsString = dict.joinedValues // "male, 42, Mike"
当然,只有当您的值可以通过String()转换为字符串时,它才会起作用。如果没有,则必须根据值的类型进行特定扩展。能否举例说明结果字典的外观?可能是一些数据,因为我们可以看到它是
[NSObject:AnyObject]
。您希望输出是什么?可能是一个包含字典所有值的字符串?或者甚至是一个包含键和值的字符串?