Запрос базы данных Realm для возврата дат

У меня есть база данных области, и я пытаюсь вернуть даты. Мой запрос выглядит следующим образом:

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

Проблема, с которой я сталкиваюсь, заключается в том, что когда я тестирую, я получаю сообщение об ошибке: «Приложение завершается из-за неперехваченного исключения« Недопустимое значение », причина:« объект должен иметь тип даты »

Я проверил две свои переменные, jobRestarted и testDate, чтобы убедиться, что обе переменные являются датами. Я использую следующий код:

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

а также

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

Обе строки кода подтверждают, что обе переменные являются NSDates. Почему я получаю эту ошибку, когда обе переменные являются датами?


person Tom    schedule 27.01.2015    source источник
comment
Не могли бы вы поделиться кодом, связанным с использованием ваших объектов JobDates?   -  person segiddins    schedule 28.01.2015


Ответы (1)


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

Использование строковой интерполяции передает строку "jobRestart <= '2015-01-27 21:48:03 +0000'" в objectsWhere, в результате чего NSPredicate сравнивает jobRestart со строковым представлением даты, но вам нужно NSPredicate, сравнивающее jobRestart с NSDate.

person Thomas Goyne    schedule 27.01.2015