Я создал протокол:
public protocol MyProtocol {
func doTask()
}
Тогда у меня есть массив для элементов типа MyProtocol
:
var taskList: [MyProtocol] = []
Абоненты могут добавлять элементы в taskList, в итоге я получил непустой taskList
.
Теперь мне нужна функция, которая могла бы удалить элемент из taskList
, вот что я попробовал:
func removeTask(task: MyProtocol) {
// Compiler error: Binary operator '!==' cannot be applied to two 'MyProtocol'
taskList = taskList.filter{$0 !== task}
}
Но я получаю ошибку компилятора: Binary operator '!==' cannot be applied to two 'MyProtocol'
Как избавиться от этой ошибки?
=== ОБНОВЛЕНИЕ ===
Спасибо @holex, после изменения MyProtocol
только на класс, он работает нормально. Но теперь мне интересно, если мне нужно MyProtocol
, чтобы быть не только для класса, что будет тогда решением?