用于 Realm 过滤器结果的类型



我目前正在使用 Realm 的过滤方法实现搜索。我的过滤器代码如下所示:

filteredComm = realm.objects(Community.self).filter("name CONTAINS[c] '(searchText)'")

据我所知,结果我得到了一个NSArray。但是,如果我尝试创建这样的 NSArray var filteredComm: [NSArray] = [],则会出现错误:

Cannot convert value of type String to expected argument type NSPredicate

过滤后的数据存储在变量中的最佳方法是什么,以便我可以在不同的方法中使用它?

领域过滤的类型是 Results<T> ,在这种情况下T Community

您可以将其转换为如下所示的列表:

var filteredComm = List(realm.objects(Community.self).filter("name CONTAINS[c] %@",searchText))

或到数组:

var filteredComm = Array(realm.objects(Community.self).filter("name CONTAINS[c] %@",searchText))
使用

NSPredica tes 时不鼓励字符串插值,因此您应该使用我在上述代码中使用的变量值替换方法来生成谓词。

最新更新