Иметь расширение словаря и использовать функцию.
extension Dictionary where Key == String {
subscript(insensitive key: Key) -> Value? {
get {
if let k = keys.first(where: { $0.caseInsensitiveCompare(key) == .orderedSame }) {
return self[k]
}
return nil
}
set {
if let k = keys.first(where: { $0.caseInsensitiveCompare(key) == .orderedSame }) {
self[k] = newValue
} else {
self[key] = newValue
}
}
}
}
Пример:
var dict = ["Aaron" : "English", "Alice" : "English", "John" : "Brasilian"]
print(dict[insensitive: "alice"]!) // outputs "English"
Надеюсь, что это ответ на ваш запрос.