RealmSwiftで'Invalid predicate expressions'という例外について
以下のようなコードを実行すると
'Invalid predicate expressions', reason: 'Predicate expressions must compare a keypath and another keypath or a constant value'
というエラーが発生します(シミュレータで確認しています)。
no
プロパティはLog
エンティティのInt
型プロパティです。
Realmのバージョンは
- Realm (2.4.3):
- Realm/Headers (= 2.4.3)
- Realm/Headers (2.4.3)
- RealmSwift (2.4.3):
- Realm (= 2.4.3)
です。
func search() {
do {
let realm = try Realm()
var results = realm.objects(Log.self).filter("no == %d", 5)
for l in results {
print("search result is \(l.no):\(l.message)")
}
} catch {
print("error occured")
}
}
Log
エンティティのno
プロパティの名前をlogNo
に変えるとエラーは起きません(nn
とか2文字にもしてみましがエラーは起きませんでした)。
これはRealmの仕様でしょうか。それともバグでしょうか。
ドキュメントにはそれらしい記述は見当たりませんでした。