我正在搜索用户并获取所有用户的响应,但是现在我创建了一个由特定用户组成的群组,我只想显示搜索用户对仅存在于该群组中的用户的响应。
我有这个Array
扩展名来检查返回的所有用户的ID是否在数组中是否存在组成员的ID
extension Array where Element: Comparable {
func containsSameElements(as other: [Element]) -> Bool {
return self.count == other.count && self.sorted() == other.sorted()
}
}
搜索到的用户是不同于组成员的对象类型,但是可以提取值
if userIdArray.containsSameElements(as: (self.chatContact?.members.map({$0.userId}))!) {
let search = entities
entities.removeAll()
let members = self.chatContact?.members
members?.forEach({ (users) in
let newEntities = search.filter({ $0.entityId() == users.userId})
entities.append(contentsOf: newEntities)
})
}
userIdArray是总搜索用户ID的数组