Проблема с CoreData и поиском даты - PullRequest
1 голос
/ 14 ноября 2011

У меня есть простая модель, которая представляет Дни еды и тренировок.У меня проблема с получением Дня от 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];

1 Ответ

0 голосов
/ 11 апреля 2017

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

...