2013-03-23 49 views
0

我正在嘗試獲取待辦事項列表,該列表需要執行> =某個日期。用NSDate進行NSPredicate搜索錯誤

數據模型: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%'工作正常。

回答

1

要獲得具有任何待辦事項> =某一特定日期列表,使用

[NSPredicate predicateWithFormat:@"ANY todos.due_at >= %@", datePeriod]; 
+0

感謝。不知道有那麼重要。 – 2013-03-23 22:16:25