Find index of object in einem Array vom Typ [SomeProtocol]

Ich habe ein Array namens subscribers, das Objekte speichert, die dem Protokoll JABPanelChangeSubscriber entsprechen. Das Protokoll wird als @ deklarie

public protocol JABPanelChangeSubscriber {

}

und mein Array ist deklariert als:

var subscribers = [JABPanelChangeSubscriber]()

Nun muss ich eine Methode implementieren, um einen Abonnenten zur Liste hinzuzufügen, aber zuerst muss überprüft werden, ob dieser Abonnent noch nicht hinzugefügt wurde.

public func addSubscriber(subscriber: JABPanelChangeSubscriber) {
    if subscribers.find(subscriber) == nil { // This ensures that the subscriber has never been added before
        subscribers.append(subscriber)
    }
}

Leider ist JABPanelChangeSubscriber nicht gleichwertig, und ich kann nicht herausfinden, wie ich es gleichwertig machen kann. Daher gibt mir die find-Methode einen Fehler. Kann mir jemand mit einer Lösung oder einem Vorschlag für einen anderen Ansatz weiterhelfen?

Vielen Dan

Antworten auf die Frage(4)

Ihre Antwort auf die Frage