Я хочу сделать что-то вроде этого: получить доступ к значениям моего словаря с помощью перечисления String. Я пытаюсь перегрузить индекс словаря, но безуспешно.
Доступ к словарю:
let district = address[JsonKeys.district]
где JsonKeys:
enum JsonKeys: String {
case key1
case key2
case key...
}
и моя перегрузка индекса выглядит следующим образом:
extension Dictionary where Key: StringLiteralConvertible, Value: AnyObject {
subscript(index: FOJsonKeys) -> AnyObject {
get {
return self[ index.rawValue] as! AnyObject
}
}
}
Я получаю следующее сообщение:
**Cannot subscript a value of type 'Dictionary<Key, Value>' with an index of type 'String'**
В чем я ошибаюсь?
PS: не хочу этого делать (это исправит ошибку, но код не читается таким образом):
let district = address[JsonKeys.district.rawValue]
Словарь представляет собой проанализированный словарь Json, предоставленный мне AlamoFire. Я почти уверен, что не могу изменить его тип.
extension Dictionary where Key == String
:) - person Hamish   schedule 25.01.2017