如果在另一个数组中找到,则快速从数组中获取成员

标签 swift

我从数据库中获取用户列表及其详细信息,还从数据库中获取被阻止的用户 ID 列表

我只想从用户数组中减去被阻止的用户列表,然后加载屏幕,这样被阻止的用户就不会出现

我有一个名为 userId 的数组 “UsersBlockingCurrentUserArray”

我的目标是;用户-UsersBlockingCurrentUserArray = newarray 加载新数组

func fetchUsers(){
    //fetch users code get "user"
    self.users.append(user)
    self.users.sort(by: { (p1, p2) -> Bool in
        return p1.distanceFrom.compare(p2.distanceFrom) == .orderedAscending
    })
    self.collectionView?.reloadData()           
 }

最佳答案

您想要做的是创建包含所有用户的数组的Set,并从中减去其他序列。示例如下:

let allUsersSet = Set(users)

let newArray = Array(allUsersSet.subtracting(UsersBlockingCurrentUserArray)) 

关于如果在另一个数组中找到,则快速从数组中获取成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49330671/

相关文章:

ios - 使用 Swift 5 - PDFKit 在 iOS 中编辑和保存现有的 pdf 文档

ios - UISearchController 显示不正确的结果

swift - 创建 json swift 应用程序 : fatal error: found nil when unwrapping json

swift - 如何使用自定义单元格隐藏 tableView 中的标签?

ios - Swift Play 视频无法显示

ios - UICollectionViewDelegateFlowLayout 插图不起作用

ios - 如何阻止文本字段中的文本重叠

swift - DateFormatter ISO 8601 时区

ios - NSTimeInterval 作为倒数计时器,将其作为单独的可重用类应用

swift - prepareForSegue collectionView indexPath 使用 swift