1

一意の要素のみを追加する 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クラスはそのプロトコルに準拠しています。他の機能の組み合わせも追加しようとしまし==たが、成功しませんでした。

この問題をどのようにアプローチすればよいかわかりません。それは私の拡張子の問題ですか?どのように適切にアプローチすればよいですか?正しい道を教えていただけますか?

4

1 に答える 1