在coreData里 按时间给对象进行排序

来源:互联网 发布:花生壳 端口 8066 编辑:程序博客网 时间:2024/05/18 03:10

#pragma mark查询

- (NSArray*)queryScoreData:(NSString *)kemu{

//先取出coredata里的数据

   NSManagedObjectContext *context = [selfmanagedObjectContext];

    NSPredicate *predicate = [NSPredicate

                             predicateWithFormat:@"kemu = %@",kemu];

    NSFetchRequest *fetchRequest = [[NSFetchRequestalloc] init];

    NSEntityDescription *entity = [NSEntityDescriptionentityForName:@"MyScores"inManagedObjectContext:context];

    [fetchRequest setEntity:entity];

    [fetchRequest setFetchLimit:100];

    [fetchRequest setFetchOffset:0];

    [fetchRequest setPredicate:predicate];

    NSError *error;

    NSArray *Objects = [contextexecuteFetchRequest:fetchRequesterror:&error];


//遍历你的模型类  //注意下面注释掉的 是我总崩的原因。resultArray 里面必须存对象,不要存其他形式的东西比如:数组。

   NSMutableArray *resultArray = [NSMutableArrayarray];

    for (MyScores *modelObjin 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 = [resultArraysortedArrayUsingComparator:^NSComparisonResult(MyScores* obj1,MyScores* obj2) {

        

        MyScores *pModel1 = (MyScores*)obj1;

        MyScores *pModel2 = (MyScores*)obj2;

        

        NSDateFormatter *dateFormatter = [[NSDateFormatteralloc] init];

        [dateFormattersetDateFormat: @"yyyyMMddhh:mm"];

        NSDate *date1=[NSDatedate];

        date1 = [dateFormatterdateFromString:pModel1.date];

        NSDate *date2=[NSDatedate];

        date2= [dateFormatterdateFromString:pModel2.date];//再根据string类型的日期转回来,成为NSDate类型

        if (date1 == [date1earlierDate: date2]) { //不使用intValue比较无效

           return NSOrderedDescending;//降序

        }elseif (date1 == [date1 laterDate: date2]) {

           return NSOrderedAscending;//升序

        }else{

            returnNSOrderedSame;//相等  

        }  

        

    }];

    return sortArray;

}

0 0
原创粉丝点击