#pragma mark 查询
- (NSArray*)queryScoreData:(NSString *)kemu{
//先取出coredata里的数据
NSManagedObjectContext *context = [self managedObjectContext];
NSPredicate *predicate = [NSPredicate
predicateWithFormat:@"kemu = %@",kemu];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"MyScores" inManagedObjectContext:context];
[fetchRequest setEntity:entity];
[fetchRequest setFetchLimit:100];
[fetchRequest setFetchOffset:0];
[fetchRequest setPredicate:predicate];
NSError *error;
NSArray *Objects = [context executeFetchRequest:fetchRequest error:&error];
//遍历你的模型类 //注意下面注释掉的 是我总崩的原因。resultArray 里面必须存对象,不要存其他形式的东西比如:数组。
NSMutableArray *resultArray = [NSMutableArray array];
for (MyScores *modelObj in Objects) {
// NSMutableArray *mutArray = [NSMutableArray array];
// [mutArray addObject:modelObj.time];
// [mutArray addObject:modelObj.score];
// [mutArray addObject:modelObj.date];
// [resultArray addObject:mutArray];
[resultArray addObject:modelObj];
}
//排序
NSArray *sortArray = [resultArray sortedArrayUsingComparator:^NSComparisonResult(MyScores* obj1, MyScores* obj2) {
MyScores *pModel1 = (MyScores*)obj1;
MyScores *pModel2 = (MyScores*)obj2;
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat: @"yyyy年MM月dd日hh:mm"];
NSDate *date1=[NSDate date];
date1 = [dateFormatter dateFromString:pModel1.date];
NSDate *date2=[NSDate date];
date2= [dateFormatter dateFromString:pModel2.date];//再根据string类型的日期转回来,成为NSDate类型
if (date1 == [date1 earlierDate: date2]) { //不使用intValue比较无效
return NSOrderedDescending;//降序
}else if (date1 == [date1 laterDate: date2]) {
return NSOrderedAscending;//升序
}else{
return NSOrderedSame;//相等
}
}];
return sortArray;
}