Realm error: Invalid Value, expecting int and receiving: 0
Realm error: Invalid Value, expecting int and receiving: 0
我正在使用带有 Swift 的 Realm 进行查询,但收到此错误:
Terminating app due to uncaught exception 'Invalid value', reason: 'Expected object of type int for property 'id' on object of type 'JournalEntryLine', but received: 0'
JournalEntryLine class 确实有一个名为 id
的 属性 (Int)。
我使用的代码:
for item in idSet
let idQuery = realm.objects(JournalEntryLine).filter("id = '\(item)' AND type = 'Debit'")
}
idSet
是一个包含整数 0 及以后的集合。我已经确认至少 [0] 始终在 运行 此查询之前的集合中。
为什么会出现此错误?
-编辑-
如果您使用:id = 'YOUR_VAR_OR VALUE'
=> 表示 id 是一个 String(例如:id ='4')
但是如果你使用:id = YOUR_VAR_OR VALUE
=> 意味着 id 是一个 整数(例如:id = 4)
注意: 所以当你的 id 是整数时不要使用引号 ' '
试试这个:
let idQuery = realm.objects(JournalEntryLine).filter("id = \(item) AND type = 'Debit'")
将id = '\(item)'转换为id = \(item)因为id是一个Integer,如果你使用引号,il 会将 id 视为字符串。
如果对您有帮助,请不要忘记投票。 :)
对我也有帮助:
let matchedMovieID = realm.objects(MovieID.self).filter("movieID == %@", idString).first
Swift 4.2, XCode 10.0, Realm 3.14.1
我正在使用带有 Swift 的 Realm 进行查询,但收到此错误:
Terminating app due to uncaught exception 'Invalid value', reason: 'Expected object of type int for property 'id' on object of type 'JournalEntryLine', but received: 0'
JournalEntryLine class 确实有一个名为 id
的 属性 (Int)。
我使用的代码:
for item in idSet
let idQuery = realm.objects(JournalEntryLine).filter("id = '\(item)' AND type = 'Debit'")
}
idSet
是一个包含整数 0 及以后的集合。我已经确认至少 [0] 始终在 运行 此查询之前的集合中。
为什么会出现此错误?
-编辑-
如果您使用:
id = 'YOUR_VAR_OR VALUE'
=> 表示 id 是一个 String(例如:id ='4')但是如果你使用:
id = YOUR_VAR_OR VALUE
=> 意味着 id 是一个 整数(例如:id = 4)
注意: 所以当你的 id 是整数时不要使用引号 ' '
试试这个:
let idQuery = realm.objects(JournalEntryLine).filter("id = \(item) AND type = 'Debit'")
将id = '\(item)'转换为id = \(item)因为id是一个Integer,如果你使用引号,il 会将 id 视为字符串。
如果对您有帮助,请不要忘记投票。 :)
对我也有帮助:
let matchedMovieID = realm.objects(MovieID.self).filter("movieID == %@", idString).first
Swift 4.2, XCode 10.0, Realm 3.14.1