Я намагаюся отримати список списків справ, які мають виконати завдання> = певна дата.
Модель даних: Тодоліст має багато Тодос.
The due_at
поле в моделі Todo - це об'єкт Date.
Це запит на отримання, який я використовую, і він продовжує збій.
NSDate *now = [NSDate date];
int daysToAdd = _dueDateSlider.intValue;
NSDate *datePeriod = [now dateByAddingTimeInterval:60*60*24*daysToAdd];
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Todolist"];
NSPredicate *pred = [NSPredicate predicateWithFormat:@"todos.due_at >= %@", datePeriod];
[request setPredicate:pred];
NSError *error = nil;
NSArray *todolists = [managedObjectContext executeFetchRequest:request error:&error];
Помилка, яку я отримую, це:
-[__NSArrayI compare:]: unrecognized selector sent to instance 0x1018a4c50
An uncaught exception was raised
Я не впевнений, чому це відбувається, оскільки будь-який інший пошук за предикатами чудово працює. todos.due_at != nil
це добре, як і todos.content like "%test%"
добре працює.
Відповіді:
1 для відповіді № 1Щоб отримати списки, які є будь-який to-dos> = певна дата, використання
[NSPredicate predicateWithFormat:@"ANY todos.due_at >= %@", datePeriod];