2017-06-18 104 views
1

数组操作the Realm NSPredicate cheatsheet它指出我们可以作出这样通过NSPredicate目标的List特定要素的查询。但是,我总是得到一个“'valueForKeyPath:'函数不受支持。”例外,当我尝试以下。的“valueForKeyPath:”不支持的功能

let realm = try! Realm() 
let persons = realm.objects(Person.self) 
let predicate = NSPredicate(format: "orders[0].created == $created") 
persons.filter(predicate.withSubstitutionVariables(["created": Date()])) 

我使用的Xcode 8.3.3中定位iOS 9.0与境界2.8.2

+0

您是否找到了解决方案? –

回答

1

领域的NSPredicate Cheatsheet涵盖NSPredicate支持所有功能。由Realm支持的功能通过与给定条目并排的粉红色圆点进行调用。阵列操作是not yet supported(从Realm Swift v2.8.2开始)。

+0

有没有其他办法可以做到这一点? –

+0

我不认为有直接表达谓词的方式。您可以将感兴趣的值单独存储在非列表属性中(而不是将其存储在列表中),也可以使用Swift的基于闭包的过滤。每个人都有权衡,所以很难说你的情况会更好。 – bdash