Реализация протокола Swift действительно сводит меня с ума прямо сейчас. У меня есть массив observers
, определенный по пользовательскому протоколу Observing
, и я пытаюсь удалить элемент из этого массива с учетом элемента, но Swift жалуется, что Observing
не реализует Identifiable
(который, я думаю, на самом деле другой из моих собственных протоколов, если не существует также системный протокол). Все, что я хочу сделать, это сравнение ссылок и удаление фактического объекта. Мне не нужно выполнять какие-либо сравнения с объектами.
var observers = [Observing]()
func removeObserver( observer: Observing ) {
for i in 0 ..< self.observers.count {
if self.observers[i] == observer { // <='Observing' is not convertible to 'Identifiable'...?
self.observers.removeAtIndex(i)
break
}
}
}