swa*_*ner 6 realm nspredicate swift
我正在使用NSPredicates直接在数据库上过滤我的数据库查询,但随后我想进一步Results<T>使用自定义谓词过滤返回的值():
elements.filter { (element) -> Bool in
return ...
}
Run Code Online (Sandbox Code Playgroud)
这个返回一个LazyFilterBidirectionalCollection- 如何使用它并再次获得结果?
我们正在跟踪在GitHub 问题 #2138中添加对基于块的谓词的支持。这将允许您在 Realm 内置原语支持的范围之外执行自定义过滤。
如果您需要有时使用 aResults<T>而有时使用 a,LazyFilterBidirectionalCollection则可以将值包装在类型擦除的包装器中,例如AnyBidirectionalCollection<T>,它将任何操作转发到包装的类型,同时隐藏底层集合。
例如:
func maybeFilter(results: Results<Foo>) -> AnyBidirectionalCollection<Foo> {
if (condition) {
return AnyBidirectionalCollection(results.filter { $0.foo != "bar" })
}
return AnyBidirectionalCollection(results)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
962 次 |
| 最近记录: |