Swift 3数组按属性包含多个对象

时间:2017-05-10 08:29:27

标签: arrays swift3

我有两个结构,用户聊天

struct User {
    let appId: String
}

struct Chat {
    var users: [User]
}

因此,如果您可以看到聊天可以有多个用户。

let u1 = User(appId: "12345")
let u2 = User(appId: "6789")
let chat = Chat(users: [u1, u2])

现在我想检测这两个用户是否在聊天内,可能是appId

我试过

let contains = chat.users.contains { inUser -> Bool in
    return inUser.appId == "12345" && inUser.appId == "6789"
} 

但可以肯定的是,这不起作用。

有人可以帮帮我吗? 谢谢!

1 个答案:

答案 0 :(得分:1)

由于您想知道聊天中是否有u1u2,您应该写

let bothInChat = chat.users.contains { $0.appId == "12345" } && chat.users.contains { $0.appId == "6789" }