1

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

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

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

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

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

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

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

4

1 回答 1

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

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

于 2015-01-27T21:52:45.340 回答