0

我正在尝试获取具有待办事项> =某个日期的待办事项列表。

数据模型:Todolist 有很多 Todos。

Todo 模型中的due_at字段是一个 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%'很好用。

4

1 回答 1

1

要获取具有任何待办事项 >= 某个日期的列表,请使用

 [NSPredicate predicateWithFormat:@"ANY todos.due_at >= %@", datePeriod];
于 2013-03-23T22:13:35.580 回答