Поскольку тип Generic , который вы использовали в определении класса (и для переменной), равен NOT , то же самое с Generic, который вы определили в сигнатуре функции.Вы должны убедиться, что оба одинаковы:
class ParentClass<T> {
var success : ((T)->Void)?
}
extension ParentClass {
func success(success: ((T) -> Void)?) -> ParentClass {
self.success = success
return self
}
}
И если вы хотите, чтобы он был кодируемым:
class ParentClass<T: Codable> { ,,, }
Или в расширении:
extension ParentClass where T: Codable { ,,, }