我不知道如何结合基于用户选择的谓词。这里是我的数据的概述。RealmSwift + Multiple Predicate
Person.swift
class Person: Object {
let id = RealmOptional<Int>()
dynamic var name = ""
dynamic var console = ""
override static func primaryKey() -> String {
return "id"
}
样品JSON数据
{
"id": 822,
"name": "Ron",
"console": "XBox"
},
{
"id": 823,
"name": "Jenny"
"console": "Playstation 4"
}
说,例如我有很多数据和控制台的任一组成 “的Xbox” 的, “游戏机4”, “Wii的”, “世嘉”或“PS Vita”。我创建了一个复选框过滤选项,允许用户选择他们想要过滤的选项并显示拥有哪个控制台的人员的姓名。
例如,如果他们同时选择“XBox”和“Playstation 4”,我如何预测它们并显示人名的结果?目前我只能显示一个这样的选项。
var player: Results<Person>!
func filter(sender: AnyObject) {
let realm = try! Realm()
self.player = realm.objects(Person).filter("%K = %@", "console", "XBox")
}
您需要在您的查询中使用OR在这里创建一个复合语句... – Shripada
但是如果我们不知道用户将选择什么,我们如何复合它们? – Delonn
这个想法是有尽可能多的子表达式,因为有选项。并根据选定的选项使用OR组合最终查询。请看指导答案。 – Shripada