0

我从核心数据中获取记录并填充NSMutableArray它们,现在我想用下面的代码过滤它们但不能正常工作。我应该怎么做?

[array filterUsingPredicate:[NSPredicate predicateWithFormat:@"date==%@",date1 ]];
//date = a field with format NSDate in core data
//date1 = NSDate
4

2 回答 2

1

你为什么不在你的 NSFetchRequest 中使用谓词并保持 NSArray 只填充你需要的记录?

于 2012-05-10T16:09:09.437 回答
0

也许是因为您输入了带有时间的日期,并且当您想要过滤数组时date1,时间date1不等于您存储在核心数据中的日期

查看此代码并输入没有时间的日期

NSDate *dateTime=[NSDate date];
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
[calendar setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];
NSDateComponents *components = [[NSDateComponents alloc] init];
components = [calendar components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit
                         fromDate:dateTime];
NSDate *dateOnly = [calendar dateFromComponents:components];
于 2012-05-11T01:58:29.450 回答