我想擴展Dictionary的方法,但只有當Key是String類型的時候。Extend Dictionary Key其中字符串類型是字符串
我嘗試這樣做:
extension Dictionary where Key: String {
mutating func lowercaseKeys() {
for key in self.keys {
self[key.lowercase] = self.removeValueForKey(key)
}
}
}
而得到錯誤:
Type 'Key' constrained to non-protocol type 'String'
基於此錯誤信息,我可以告訴大家,我只能做這樣的與協議過濾的...是有沒有辦法繞過這個?
StringLiteralConvertible從Swift開始已棄用3.使用ExpressibleByStringLiteral代替。 –
很高興知道,謝謝@MacBellingrath! –