繁体   English   中英

Swift 2.1字典扩展

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM