Objective c 筛选特定日期、年份、月份或日期范围的核心数据对象数组
我有一个对象数组,该数组的一个属性是Objective c 筛选特定日期、年份、月份或日期范围的核心数据对象数组,objective-c,xcode,core-data,nsarray,Objective C,Xcode,Core Data,Nsarray,我有一个对象数组,该数组的一个属性是NSDate。 我需要创建一个函数来根据特定日期过滤这些对象 比如: 2013年的过滤器阵列 日期为2013年3月12日的过滤器阵列 2012年2月的过滤器阵列 范围日期内的筛选器数组 请给我一个解决方案或建议我一个更好的方法来管理核心数据,以实现这一点 提前感谢从核心数据存储获取数据时,您可以使用NSPredicate筛选结果。此外,从核心数据存储中提取后,还可以使用NSPredicate进行过滤(就像过滤任何数组一样) 从核心数据提取时,您可以使用它,如下
NSDate
。
我需要创建一个函数来根据特定日期过滤这些对象
比如:
提前感谢从核心数据存储获取数据时,您可以使用NSPredicate筛选结果。此外,从核心数据存储中提取后,还可以使用NSPredicate进行过滤(就像过滤任何数组一样) 从核心数据提取时,您可以使用它,如下所示:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(date >= %@) AND (date <= %@)", startDate, endDate];
NSFetchRequest *request = [[[NSFetchRequest alloc] init] autorelease];
[request setEntity:[NSEntityDescription entityForName:@"EntityName" inManagedObjectContext:moc]];
[request setPredicate:predicate];
NSError *error = nil;
NSArray *results = [moc executeFetchRequest:request error:&error];
NSPredicate*predicate=[NSPredicate predicateWithFormat:@”(日期>=%@)和(日期您应该使用NSPredicate
。您可以筛选结果数组或将谓词直接包含到NSFetchRequest
中
/* 1 */ [NSPredicate predicateWithFormat:@"date > %@ && date < %@",
firstDayOfYear, lastDayOfYear];
/* 2 */ [NSPredicate predicateWithFormat:@"date > %@ && date < %@",
startMarch12, endMarch12];
/* 3 */ [NSPredicate predicateWithFormat:@"date > %@ && date < %@",
startFeb2012, endFeb2012];
/* 4 */ [NSPredicate predicateWithFormat:@"date > %@ && date < %@",
startDate, endDate];
/*1*/[NSPredicate谓词格式:@“日期>%@&&date<%@,
一年的第一天,一年的最后一天];
/*2*/[NSPredicate谓词格式:@“日期>%@&&date<%@”,
startMarch12,endMarch12];
/*3*/[NSPredicate谓词格式:@“日期>%@&&date<%@”,
2012年6月开始,2012年2月结束];
/*4*/[NSPredicate谓词格式:@“日期>%@&&date<%@”,
开始日期,结束日期];