我从核心数据中获取记录并用它们填充NSMutableArray
,现在我想用下面的代码过滤它们但是不能正常工作。我应该这样做吗?
[array filterUsingPredicate:[NSPredicate predicateWithFormat:@"date==%@",date1 ]];
//date = a field with format NSDate in core data
//date1 = NSDate
答案 0 :(得分:1)
为什么不在NSFetchRequest中使用谓词并仅使用您需要的记录来填充NSArray?
答案 1 :(得分: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];