В Swift существует правило, которое вы не должны явно указывать (используя <>
s), каковы параметры generi c метода generi c. Вы должны дать подсказку механизму вывода типов, чтобы it вычислил параметры generi c. В этом случае вы можете аннотировать тип параметра замыкания, чтобы замыкание имело тип (Person) -> Void
. С помощью этой информации компилятор может определить тип T
out.
parser.parse(request: request, onSuccess: { (codable: Person) in ... }
В других случаях вам может потребоваться ввести дополнительный параметр типа T.Type
. Например, если ваша функция принимает только параметр типа и не имеет параметров значения:
func foo<T>() { ... }
В этом случае вам необходимо добавить дополнительный параметр:
func foo<T>(_ type: T.Type) { ... }
, чтобы Вы можете использовать его как:
foo(Person.self)