私はブロックは下記見た場合を実装しようとしています:スウィフト3:Array.contains(customObject)
loggedInUser.following
は、カスタム
User
クラスの配列であり、userToViewが
User
クラスの単一のインスタンスである
if loggedInUser.following.contains(userToView) {
}
。
class User {
....
}
しかし、loggedInUser.following.contains(userToView)
は以下の見誤りを投げている:期待される引数の型に
は、型の値を変換できません。 'ユーザー' '(ユーザ)がスローされます - >ブール'
を私は印象の下では、私は2つのユーザーが等しいかどうかを判断する関数のいくつかの並べ替えを実装する必要がありますが、私はどのようにそのような関数を実装するか分からない。どんな助けでも大歓迎です。前もって感謝します!
を使用する場合は、ユーザークラスをEquatableプロトコル –
に準拠させる必要があります。class User:Equatable { せ名:文字列 必要INIT(名:文字列){ self.name =名 }} FUNC ==(LHS:ユーザー、RHS:ユーザー) - >ブール{戻りlhs.name == rhs.name } ' –
' let users = [ユーザー(名前: "a")、ユーザー(名前: "b")] 'および ' users.contains(ユーザー(名前: "z"))// false' –