我为 Array 创建了简单的扩展,它只会附加唯一的元素。在我想使用一系列选项之前,它工作正常。既然我不断收到错误
Type 'Event?' does not conform to protocol 'Equatable'
事件类
import RealmSwift
class Event: Object,Equatable {
dynamic var id = ""
}
func ==(lhs: Event, rhs: Event) -> Bool {
return lhs.id == rhs.id
}
扩大
extension Array where Element : Equatable {
mutating func appendUniqueContentOf(elements:[Element]){
for ele in elements {
if (!contains(ele)){
append(ele)
}
}
}
}
用法
var newEvents:[Event] = someEvents()
var events = [Event?]()
events.appendUniqueContentOf(newEvents)
问题
我不明白这种情况。Event
类符合该协议。我也尝试过添加其他==
功能组合,但没有成功。
我不知道如何看待这个问题。是我延期的问题吗?我应该如何正确处理它?你能告诉我正确的轨道吗?