查询Realm数据库以返回日期

时间:2015-01-27 18:20:10

标签: database swift nsdate realm predicates

我有一个领域数据库,我正在尝试返回日期。我的查询如下:

var jobsReturned = JobDates.objectsWhere("jobRestarted <= '\(testDate)' ")

我得到的问题是,当我测试时,我收到一条错误,指出“由于未捕获的异常终止应用程序'无效的值',原因:'对象必须是日期类型'

我测试了我的两个变量jobRestarted和testDate,以确保两个变量都是日期。我使用以下代码:

println(" Test date is '\(_stdlib_getTypeName(testDate))' ")

println(" jobRestarted is '\(_stdlib_getTypeName(jobRestarted))' ")

两行代码都确认两个变量都是NSDates。当两个变量都是日期时,为什么会出现此错误?

1 个答案:

答案 0 :(得分:0)

var jobsReturned = JobDates.objectsWhere("jobRestarted <= %@", testDate)

使用字符串插值将字符串"jobRestart <= '2015-01-27 21:48:03 +0000'"传递给objectsWhere,这会导致NSPredicatejobRestart与日期的字符串表示进行比较,但您需要的是NSPredicatejobRestartNSDate进行比较。