以下是我的Realm数据结构的简化视图:
//Entry
class Entry: Object{
let fieldValues = List<FieldValue>()
}
//FieldValue
class FieldValue: Object{
@objc dynamic var name = ""
@objc dynamic var flightTime = 0
@objc dynamic var bool = false
@objc dynamic var text = ""
@objc dynamic var type = ""
}
我想通过以下三种方案之一过滤条目的结果集(Results<Entry>
:
flightTime > 0
bool = true
text != ''
我正在建立一个NSPredicate
的数组来捕捉每个潜在的情景,但我无法让它们中的任何一个发挥作用。这是我的flightTime
谓词:
let value = "Night"
let predicate = NSPredicate(format: "ANY fieldValues.name = %@ AND SUBQUERY(fieldValues, $fieldValue, $fieldValue.flightTime > 0).@count > 0", value)
在此谓词之后,条目仍会显示fieldValue
个名称为&#34; Night&#34;和flightTime
为0。
一旦我得到正确的谓词格式,我认为我能够毫不费力地执行bool
和text
过滤器。知道我做错了吗?