2017-06-18 59 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