Найти индекс объекта в массиве типа [SomeProtocol]

У меня есть массив с именем абонентов, который хранит объекты, которые соответствуют протоколу 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 дает мне ошибку. Может кто-нибудь помочь мне с исправлением или предложением другого подхода?

Спасибо

Ответы на вопрос(2)

Ваш ответ на вопрос