0
我有用於合併兩個字典一起此銀行代碼:利用多種類型的合併字典,或任一/ AnyObject類型
extension Dictionary {
mutating func extend(newVals: Dictionary <String, Any>) {
for (key,value) in newVals {
self.updateValue(value, forKey:key)
}
}
}
包含.updateValue(, forKey:)
線生成以下錯誤:
'protocol<>' is not convertible to 'Value'
此前我有newVals
作爲Dictionary <String, String>
它工作得很好,所以我的猜測是問題是由使用Any
引起的。
我在這裏的問題是,我正在使用字典與String
s和Int
s(以及可能其他類型的價值稍後)的混合物。
反正有沒有這extend
函數與Any
類型一起使用?
你完全可以錯過'',這裏也只是說'newVals:Dictionary' –
2014-11-06 16:21:46
這個擴展函數被用於字典已經被聲明爲'Dictionary'的地方。當使用這個'extend'函數時,我現在得到錯誤''Any'與'NSObject''不一樣? –
Jimmery
2014-11-06 16:23:09
你正在使用的字典之一是'[String:Any]',另一個是'[String:NSObject]' - 你需要調和與演員的不同之處。 – 2014-11-06 16:23:51