Предположим, у меня есть протокол со связанным типом T
protocol Helper{
associatedtype T
func help(_ item: T)
}
в классе, я хочу объявить свойство
class Manager<T>{
let item: T?
let helper: Helper<T>
//Error: Cannot specialize non-generic type 'Helper'
let anotherHelper: Helper
//Error: Protocol 'Helper' can only be used as a generic constraint because it has Self or associated type requirements
}
Как объявить и использовать свойство helper таким образом, чтобы оно обеспечивало тип класса, соответствующий протоколу Helper?
Я уверен, что многие люди с опытом работы в Java / C # или других похожих языках застряли при попытке сделать похожие вещи