Опция 1:
func getKeyByType<T:Decodable>(type: T.Type) -> String {
if (type == [String].self){
return "storageKey"
}
return "nothing"
}
Опция 2:
func getKeyByType<T:Decodable>(type: T.Type) -> String {
switch type {
case [String].self:
return "storageKey"
default:
return "nothing"
}
}
//
getKeyByType(type: [String].self)
Первый метод работает правильно, но во втором я получаю ошибку компиляции:
Шаблон выражения типа '[String] .Type' не может соответствовать значениям типа 'T.Type'
Как заставить работать коммутатор с метатипами?