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



JournalEntryLine类确实具有名为id的属性(Int)。

我正在使用的代码:

for item in idSet
    let idQuery = realm.objects(JournalEntryLine).filter("id = '\(item)' AND type = 'Debit'")
}
idSet是一个包含整数0及以后的整数的集合。我已经确认在运行此查询之前,至少[0]始终在集合中。

为什么会出现此错误?

最佳答案

-EDIT-

  • 如果您使用:id = 'YOUR_VAR_OR VALUE' =>表示id为字符串(例如:id ='4')
  • 但是,如果您使用:id = YOUR_VAR_OR VALUE =>表示id是整数(例如:id = 4)

  • 注意:因此,当您的ID为整数时,请勿使用引号''

    试试这个:
    let idQuery = realm.objects(JournalEntryLine).filter("id = \(item) AND type = 'Debit'")
    

    因为id是一个整数,所以将 id ='\(item)'转换为 id =\(item),如果您使用引号,则il会将id视为字符串。

    如果对您有帮助,请别忘了投票上。 :)

    10-07 19:21
    查看更多