Есть ли способ использовать общий протокол в качестве типа данных в функции?
public protocol ICRUDOperation {
associatedtype T
func insert(data:T)
func update(data:T)
func get(data:T) -> [T]
func GetList(data: BaseModel) -> Array<T>
func GetPage(data: BaseModel) -> Array<T>
func Delete(data: T)
}
В приведенной ниже функции я получаю сообщение об ошибке
func Delegate1<W: ICRUDOperation>(sqlite: W, service: W, data: T) {
sqlite.insert(data: data)
}
ошибка: невозможно преобразовать значение типа 'T' (универсальный параметр универсального
класс «Решение») к ожидаемому типу аргумента «W.T» (связанный тип
протокол 'ICRUDOperation')