我目前正在使用Realm的过滤方法进行搜索。我的过滤器代码如下:
filteredComm = realm.objects(Community.self).filter("name CONTAINS[c] '\(searchText)'")
据我所知,我得到了一张NSArray。但是,如果我尝试创建类似var filteredComm: [NSArray] = []
的NSArray,我会收到错误:
Cannot convert value of type String to expected argument type NSPredicate
将过滤后的数据存储在变量中的最佳方法是什么,所以我可以在不同的方法中使用它?
答案 0 :(得分:2)
领域过滤的类型为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))
使用NSPredicates时不鼓励字符串插值,因此您应该使用我在上面的代码中使用的变量值替换方法来生成谓词。