领域错误:无效值,期望int和接收:0

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了领域错误:无效值,期望int和接收:0相关的知识,希望对你有一定的参考价值。

我使用Realm和Swift进行查询,但收到此错误:

由于未捕获的异常'无效值'而终止应用程序,原因:'类型为'JournalEntryLine'的对象的属性'id'的int类型的预期对象,但收到:0'

JournalEntryLine类有一个名为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是一个字符串(例如:id ='4')
  • 但是如果你使用:id = YOUR_VAR_OR VALUE =>意味着id是一个整数(Ex: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

以上是关于领域错误:无效值,期望int和接收:0的主要内容,如果未能解决你的问题,请参考以下文章

金属着色器混合片段接收错误的颜色值

C#winform错误:InvalidArgument=“0”的值对于“index”无效。

为啥这个代码片段说包含错误?

(错误)SQL 代码 -530,错误外键 PAY$ID$U 的插入或更新值无效

错误:错误域 = NSCocoaErrorDomain 代码 = 3840“字符 0 周围的值无效。” UserInfo=NSDebugDescription=字符 0 周围的值无效。

初始化矢量 使用int值