swift - 如何为 Realm 构建查询对象

标签 swift realm

我正在使用 Swift 构建一个 iOS 应用程序。 我使用 Realm 作为数据库。

我目前正在为表格 View 构建搜索功能。

这是我的过滤器查询

items = realm.objects(Book).filter(predicate).filter("state IN {'pending','activated','completed','closed'}")

我正在将用户想要过滤的状态保存在另一个名为 Filter 的模型中。

如何根据以下过滤器查询的输出构建此 {'pending','activated','completed','filled'} (标题是属性)?这个对象叫什么?

realm.objects(Filter).filter("type = 'filter' AND activated = 'true'")

最佳答案

IN 运算符的右侧可以采用替换占位符 (%@),该占位符可以具有 NSArray(或其他可枚举对象)替换为。

假设您的 Filter 模型如下所示:

class Filter: Object {
    dynamic var type: String = ""
    dynamic var activated: bool = false
    dynamic var state: String = ""
}

您可以执行以下操作来构造您想要的查询:

let activeFilters = realm.objects(Filter).filter("type = 'filter' AND activated = 'true'")
let activeStates = activeFilters.valueForKey("state") as! [String]!

let items = realm.objects(Book).filter(predicate).filter("state IN %@", activeStates)

关于swift - 如何为 Realm 构建查询对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38228755/

相关文章:

ios - swift ios 移动应用程序登录提交

ios - 我应该如何缩放我的物理 body ?

swift - spritekit + swift,改变场景效果不好

ios - 检查 Realm 列表属性是否包含另一个列表的所有元素

swift - Xcode/Swift |使用 UIViewController 转换为 UINavigationController

ios - 设置一个carthage/cocoapod项目来分发多个依赖

swift - 我应该为自定义分组创建一个单独的 Realm 对象吗?

ios - 将 Realm 与 Collection View 数据源最佳实践结合使用

java - 如何存储和检索 RecyclerView 项目以供离线使用

ios - 为什么 .sqlite 数据库的大小比 Realm 小很多?