现在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
}
}
}