在coredata按日期搜索

时间:2011-03-21 14:01:41

标签: objective-c core-data

如何预测上周,昨天最后一个月插入的所有数据

我的coredata中有nsdate字段,但我不知道如何使用它进行搜索

任何建议或样本

最好的问候

1 个答案:

答案 0 :(得分:2)

我想你设置了一个fetchedResultsController,用于从数据库中检索对象。 设置fetchedResultsController时,必须在fetchRequest中添加NSPredicate。

here

无耻地偷走了日期
//You can set up your custom dates like this
NSDate *today = [NSDate date];

NSDate *yesterday = [today addTimeInterval: -86400.0];
NSDate *thisWeek  = [today addTimeInterval: -604800.0];
NSDate *lastWeek  = [today addTimeInterval: -1209600.0];

// This predicate retrieves all the object created since last week.
NSpredicate *predicate = [NSPredicate predicateWithFormat:@"yourDateField >= %@ ", lastWeek];
[fetchRequest setPredicate:predicate];    

// You can add sorting like this
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"yourDateField" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];

[fetchRequest setSortDescriptors:sortDescriptors];

希望这会有所帮助。如果您有任何问题,请告诉我。