Хобрук: Ваш путь к мастерству в программировании

Проблема с CoreData и поиском даты

У меня есть простая модель, которая представляет дневные приемы пищи и тренировки. У меня возникла проблема с получением Day из CoreData. Я получаю следующую ошибку.

2011-11-14 11:41:44.999 CalorificCounter[21002:fb03] -[__NSCFString timeIntervalSinceReferenceDate]: unrecognized selector sent to instance 0x6a6d1a0
2011-11-14 11:41:45.001 CalorificCounter[21002:fb03] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFString timeIntervalSinceReferenceDate]: unrecognized selector sent to instance 0x6a6d1a0'

Код

-(Day *)getDayForDate:(NSDate *)date
{
    Day *day;
    date = [self dateAtStartOfDay:date];

    NSFetchRequest *request = [[NSFetchRequest alloc]init];
    NSEntityDescription *entity = [NSEntityDescription entityForName:@"Day" 
                                        inManagedObjectContext:[self managedObjectContext]];

    //Find the object that matches the given date from a predicate
    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"date == \"%@\"",date];


    [request setEntity:entity];
    [request setPredicate:predicate];

    //Try to fetch
    NSError *error;
    NSArray *result = [[self managedObjectContext] executeFetchRequest:request 
                                                             error:&error ] ;

Ошибка возникает при выполнении запроса на выборку. Я отследил выполнение, и все кажется правильным типом (по крайней мере, я никогда не передаю строку). Заранее спасибо.

ОБНОВЛЕНИЕ Не заключайте предполагаемую дату в кавычки

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"date == %@",date];
14.11.2011

  • Вероятно, что-то не так с вашим хранилищем данных. По какой-то причине он ожидает дату, когда он действительно получает строку. Взгляните на свой магазин еще раз. 14.11.2011
  • Я отправляю дату, но она получает строку. Да, здесь что-то не так с типами. 15.11.2011
  • Вы решили эту проблему? 18.09.2013
  • На вопрос ответил ОП внутри вопроса, и его следует удалить. 19.02.2014

Ответы:


1

Эта проблема возникает, когда вы назначаете строку объекту даты. Проверьте значение даты и верните объект NSDate.

11.04.2017
Новые материалы

Как свинг-трейдеры могут использовать ИИ для больших выигрышей
По мере того как все больше и больше профессиональных трейдеров и активных розничных трейдеров узнают о возможностях, которые предоставляет искусственный интеллект и машинное обучение для улучшения..

Как построить любой стол
Я разработчик программного обеспечения. Я люблю делать вещи и всегда любил. Для меня программирование всегда было способом создавать вещи, используя только компьютер и мое воображение...

Обзор: Машинное обучение: классификация
Только что закончил третий курс курса 4 часть специализации по машинному обучению . Как и второй курс, он был посвящен низкоуровневой работе алгоритмов машинного обучения. Что касается..

Разработка расширений Qlik Sense с qExt
Использование современных инструментов веб-разработки для разработки крутых расширений Вы когда-нибудь хотели кнопку для установки переменной в приложении Qlik Sense? Когда-нибудь просили..

React Hooks: основы деструктуризации массива
Kent C. Dodds написал классный пост о том, как грядущая функция React под названием Hooks работает на капоте. Предстоящий хук React useState основан на деструктурировании массива, давайте..

Пакеты R, используемые в Tesla
Добро пожаловать обратно! R — очень популярный язык программирования, используемый множеством компаний, включая Tesla! Итак, давайте взглянем на некоторые пакеты R, которые использует Tesla...

Сокращение и слияние токенов для эффективных моделей VL: обзор
Часто в задачах, связанных с компьютерным зрением и НЛП, вычислительно затратная и требующая большого объема памяти обработка становится препятствием для более быстрого логического вывода модели, а..