Тип хранилища в переменной

#swift

#быстрый

Вопрос:

Я упростил свой код. Итак, теперь у меня есть общая функция, подобная этой:

 func genFunclt;T: Codablegt;(test: T.Type) {  print(test) }  

Давайте определим фиктивную структуру:

 struct Test: Codable {  let name: String }  

Теперь я могу вызвать функцию с помощью этого:

 genFunc(test: Test.self)  

Но то, что я хочу сделать, это сохранить тип и вызвать функцию с сохраненным типом. Этот код не работает:

 var type: Codable.Type type = Test.self genFunc(test: type)  

Я получаю ошибку: Generic parameter 'T' could not be inferred

Комментарии:

1. Вы на самом деле не упростите свой код, если вам действительно нужны перегрузки. Для универсальной функции требуется конкретный тип или метатип. Codable.self дело не в этом.

2. @Jessy: под упрощением я подразумеваю, что я удалил параметры и свойства и переименовал все. Что вы имеете в виду под перегрузками?