gpt4 book ai didi

ios - 检查 Realm Results<> 中重复项的最简单而有效的方法是什么?

转载 作者:行者123 更新时间:2023-11-30 13:23:01 24 4
gpt4 key购买 nike

我正在尝试列出用户可以添加到事件的联系人,但我想过滤结果,这样就不会显示重复项。因此,如果我添加 John Doe,他的联系人将不会显示在联系人列表中。我不太熟悉 NSPredicate,所以我不确定这是否是最好的方法或将 Results 数组转换为更容易使用的东西。

最佳答案

这是 kotlin 上的示例,但非常接近 swift。你可以做类似的事情。您可以获取按名称过滤的用户列表,而不是获取 RealmResults。

fun filteredUsers(){
val realm = Realm.getDefaultInstance()
realm.where(UserRealm::class.java)
.findAllAsync()
.asObservable()
.filter { users -> users.isLoaded }
.flatMap { users -> Observable.from(users) }
.filter { user -> !user.name.equals("John Doe") }
.observeOn(AndroidSchedulers.mainThread())
.doOnError { err -> err.printStackTrace() }
.toList()
.subscribe { userList -> print(userList) }
}

而且我在文档中发现了更简单的方法:

// Query using a predicate string
var tanDogs = realm.objects(Dog).filter("color = 'tan' AND name BEGINSWITH 'B'")

// Query using an NSPredicate
let predicate = NSPredicate(format: "color = %@ AND name BEGINSWITH %@", "tan", "B")
tanDogs = realm.objects(Dog).filter(predicate)

关于ios - 检查 Realm Results<> 中重复项的最简单而有效的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37561306/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com