[英]Swift 2.1 Dictionary extension
我希望编写一个Swift字典扩展名,该扩展名将附加可靠地相同的数据,这些数据最终将作为URL参数传递到Web请求中。 我尝试了各种技巧,但似乎都没有效果。
我得到的最接近的是:
extension Dictionary where Key: StringLiteralConvertible, Value: AnyObject {
mutating func auth() -> Dictionary {
self.updateValue("2.0", forKey: "api")
return self
}
}
但这仍然引发错误:
无法使用类型为((String,forKey:String)'的参数列表调用'updateValue'
在显示为“ self.updateValue(...)”的行上
有什么建议吗? 提前致谢!
您只需要将字符串强制转换为! 价值还是一样! 键。 另外,您已将方法声明为变异的,因此您无需返回任何内容。
extension Dictionary {
mutating func auth() {
updateValue("2.0" as! Value, forKey: "api" as! Key)
}
}
var dic: [String:AnyObject] = [:]
print(dic) // "[:]\n"
dic.auth()
print(dic) // "["api": 2.0]\n"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.