我有一个称为订阅者的数组,它存储符合 JABPanelChangeSubscriber 协议的对象。该协议被声明为
public protocol JABPanelChangeSubscriber {
}
我的数组被声明为:
var subscribers = [JABPanelChangeSubscriber]()
现在我需要实现一个方法来将订阅者添加到列表中,但它首先必须检查该订阅者之前是否尚未添加。
public func addSubscriber(subscriber: JABPanelChangeSubscriber) {
if subscribers.find(subscriber) == nil { // This ensures that the subscriber has never been added before
subscribers.append(subscriber)
}
}
不幸的是,JABPanelChangeSubscriber 不是 Equatable,我不知道如何使它 Equatable,所以 find 方法给了我一个错误。任何人都可以帮助我解决问题或提出不同方法的建议吗?
谢谢