zoukankan      html  css  js  c++  java
  • 排序的拆分,

     

    //order by price or time

    //1,高亮状态2,升降顺序

    -(void)sortByTime:(id)sender

     

    {

        NSArray *arr =  [self.fListArray sortedArrayUsingComparator:^NSComparisonResult(id item1, id item2) {

            HFFlight *flight1 = item1;

            HFFlight *flight2 = item2;

           //timebutton 排序

                NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];

                dateFormatter.dateFormat = @"yyyy-MM-dd HH:mm";

                NSDate *date1 = [dateFormatter dateFromString:flight1.orgDateTime1];

                NSDate *date2 = [dateFormatter dateFromString:flight2.orgDateTime1];

                NSComparisonResult result = [date1 compare:date2];

                if (timeButtonIsDescending) {

                    if (result == NSOrderedAscending) {

                        result = NSOrderedDescending;

                    }else if (result == NSOrderedDescending) {

                        result = NSOrderedAscending;

                    }else{

                        result= NSOrderedSame;

                    }

                }

                return result;

        }];

        

        //设置timebutton的状态,从高亮--》非高亮

        if (priceButtonIsDescending) {

            priceButtonIsHighlighted = NO;

            [self.priceButtonsetImage:[UIImageimageNamed:@"icon_order_down.png"] forState:UIControlStateNormal];

            [self.priceButtonsetTitleColor:RGBCOLOR(116, 116, 116) forState:UIControlStateNormal];

        }else{

            priceButtonIsHighlighted = NO;

            [self.priceButtonsetImage:[UIImageimageNamed:@"icon_order_up.png"] forState:UIControlStateNormal];

            [self.priceButtonsetTitleColor:RGBCOLOR(116, 116, 116) forState:UIControlStateNormal];

        }

        

        if (timeButtonIsDescending && timeButtonIsHighlighted) {

            timeButtonIsDescending = NO;

            [self.timeButtonsetImage:[UIImageimageNamed:@"icon_order_down_h.png"] forState:UIControlStateNormal];

            [self.timeButtonsetTitleColor:RGBCOLOR(253, 113, 34) forState:UIControlStateNormal];

        }elseif(timeButtonIsHighlighted && !timeButtonIsDescending) {

            timeButtonIsDescending = YES;

            [self.timeButtonsetImage:[UIImageimageNamed:@"icon_order_up_h.png"] forState:UIControlStateNormal];

            [self.timeButtonsetTitleColor:RGBCOLOR(253, 113, 34) forState:UIControlStateNormal];

        }elseif(!timeButtonIsHighlighted && timeButtonIsDescending){

            timeButtonIsHighlighted = YES;

            [self.timeButtonsetImage:[UIImageimageNamed:@"icon_order_up_h.png"] forState:UIControlStateNormal];

            [self.timeButtonsetTitleColor:RGBCOLOR(253, 113, 34) forState:UIControlStateNormal];

        }else{

            timeButtonIsHighlighted = YES;

            [self.timeButtonsetImage:[UIImageimageNamed:@"icon_order_down_h.png"] forState:UIControlStateNormal];

            [self.timeButtonsetTitleColor:RGBCOLOR(253, 113, 34) forState:UIControlStateNormal];

        }

     

        NSMutableArray *mutableArray = [[NSMutableArray alloc] initWithArray:arr];

        self.fListArray = mutableArray;

        [self.expansionTableViewreloadData];

     

    }

     

     

    -(void)sortByPrice:(id)sender

     

    {

        

        NSArray *arr =  [self.fListArray sortedArrayUsingComparator:^NSComparisonResult(id item1, id item2) {

            HFFlight *flight1 = item1;

            HFFlight *flight2 = item2;

            HFCabin *cabin1 = [flight1.cabins objectAtIndex:0];

            HFCabin *cabin2 = [flight2.cabins objectAtIndex:0];

          

                

                if (priceButtonIsDescending) {//降序

                    if (cabin1.adultPrice > cabin2.adultPrice) {

                        return NSOrderedDescending;

                    } else if (cabin1.adultPrice < cabin2.adultPrice) {

                        return NSOrderedAscending;

                    } else {

                        return NSOrderedSame;

                    }

                }else{

                    

                    if (cabin1.adultPrice > cabin2.adultPrice) {

                        return NSOrderedAscending;

                    } else if (cabin1.adultPrice < cabin2.adultPrice) {

                        return NSOrderedDescending;

                    } else {

                        return NSOrderedSame;

                    }

                }

                

        }];

        //设置timebutton的状态,从高亮--》非高亮

        if (timeButtonIsDescending) {

            timeButtonIsHighlighted = NO;

            [self.timeButtonsetImage:[UIImageimageNamed:@"icon_order_up.png"] forState:UIControlStateNormal];

            [self.timeButtonsetTitleColor:RGBCOLOR(116, 116, 116) forState:UIControlStateNormal];

        }else{

            timeButtonIsHighlighted = NO;

            [self.timeButtonsetImage:[UIImageimageNamed:@"icon_order_down.png"] forState:UIControlStateNormal];

            [self.timeButtonsetTitleColor:RGBCOLOR(116, 116, 116) forState:UIControlStateNormal];

        }

        

        if (priceButtonIsHighlighted && priceButtonIsDescending) {

            priceButtonIsDescending = NO;

            [self.priceButtonsetImage:[UIImageimageNamed:@"icon_order_up_h.png"] forState:UIControlStateNormal];

            [self.priceButtonsetTitleColor:RGBCOLOR(253, 113, 34) forState:UIControlStateNormal];

        }elseif(priceButtonIsHighlighted && !priceButtonIsDescending) {

            priceButtonIsDescending = YES;

            [self.priceButtonsetImage:[UIImageimageNamed:@"icon_order_down_h.png"] forState:UIControlStateNormal];

            [self.priceButtonsetTitleColor:RGBCOLOR(253, 113, 34) forState:UIControlStateNormal];

        }elseif(!priceButtonIsHighlighted && priceButtonIsDescending){

            priceButtonIsHighlighted = YES;

            [self.priceButtonsetImage:[UIImageimageNamed:@"icon_order_down_h.png"] forState:UIControlStateNormal];

            [self.priceButtonsetTitleColor:RGBCOLOR(253, 113, 34) forState:UIControlStateNormal];

        }else{

            priceButtonIsHighlighted = YES;

            [self.priceButtonsetImage:[UIImageimageNamed:@"icon_order_up_h.png"] forState:UIControlStateNormal];

            [self.priceButtonsetTitleColor:RGBCOLOR(253, 113, 34) forState:UIControlStateNormal];

        }

        

        NSMutableArray *mutableArray = [[NSMutableArray alloc] initWithArray:arr];

        self.fListArray = mutableArray;

        [self.expansionTableViewreloadData];

     

    }

    -(void)sortFilght:(id)sender

    {

        UIButton *btn = (UIButton *)sender;

        if (btn.tag == 1) {

            if (priceButtonFirstIn) {

                

                if(priceButtonIsDescending){

                    priceButtonIsDescending = NO;

                    [self.priceButtonsetImage:[UIImageimageNamed:@"icon_order_down.png"] forState:UIControlStateNormal];

     

                }else{

                    priceButtonIsDescending = YES;

                    [btn setImage:[UIImageimageNamed:@"icon_order_up_h.png"] forState:UIControlStateNormal];

     

                }

                priceButtonFirstIn = NO;

                timeButtonFirstIn = YES;

            }

        }else{

            if (timeButtonFirstIn) {

                if(timeButtonIsDescending){

                    timeButtonIsDescending = NO;

                }else{

                    timeButtonIsDescending = YES;

                }

                timeButtonFirstIn = NO;

                priceButtonFirstIn = YES;

            }

        }

        NSArray *arr =  [self.fListArray sortedArrayUsingComparator:^NSComparisonResult(id item1, id item2) {

            HFFlight *flight1 = item1;

            HFFlight *flight2 = item2;

            HFCabin *cabin1 = [flight1.cabins objectAtIndex:0];

            HFCabin *cabin2 = [flight2.cabins objectAtIndex:0];

            if (btn.tag == 1) {//pricebutton 排序

                

                if (priceButtonIsDescending) {//升序

                    if (cabin1.adultPrice > cabin2.adultPrice) {

                        return NSOrderedDescending;

                    } else if (cabin1.adultPrice < cabin2.adultPrice) {

                        return NSOrderedAscending;

                    } else {

                        return NSOrderedSame;

                    }

                }else{//降序

                    

                    if (cabin1.adultPrice > cabin2.adultPrice) {

                        return NSOrderedAscending;

                    } else if (cabin1.adultPrice < cabin2.adultPrice) {

                        return NSOrderedDescending;

                    } else {

                        return NSOrderedSame;

                    }

                }

                

                

            }else{//timebutton 排序

                NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];

                dateFormatter.dateFormat = @"yyyy-MM-dd HH:mm";

                NSDate *date1 = [dateFormatter dateFromString:flight1.orgDateTime1];

                NSDate *date2 = [dateFormatter dateFromString:flight2.orgDateTime1];

                NSComparisonResult result = [date1 compare:date2];

                if (timeButtonIsDescending) {

                    if (result == NSOrderedAscending) {

                        result = NSOrderedDescending;

                    }else if (result == NSOrderedDescending) {

                        result = NSOrderedAscending;

                    }else{

                        result= NSOrderedSame;

                    }

                }

                return result;

            }

            

        }];

        

        

        

     

        

        if (btn.tag == 1)//pricebutton.tag = 1

        {//pricebutton 排序

            if (timeButtonIsDescending)

            {//降序-》降序

                [self.timeButtonsetImage:[UIImageimageNamed:@"icon_order_up.png"] forState:UIControlStateNormal];

                [self.timeButtonsetTitleColor:RGBCOLOR(116, 116, 116) forState:UIControlStateNormal];

                

            }else

            {//升序 --》升序

                [self.timeButtonsetImage:[UIImageimageNamed:@"icon_order_down.png"] forState:UIControlStateNormal];

                [self.timeButtonsetTitleColor:RGBCOLOR(116, 116, 116) forState:UIControlStateNormal];

                

            }

           

           

     

            if (priceButtonIsDescending)

            {//降序--》升序

                priceButtonIsDescending = NO;

                [btn setImage:[UIImageimageNamed:@"icon_order_up_h.png"] forState:UIControlStateNormal];

                [btn setTitleColor:RGBCOLOR(253, 113, 34) forState:UIControlStateNormal];

                

            }else

            {//升序---》降序

                priceButtonIsDescending = YES;

                [btn setImage:[UIImageimageNamed:@"icon_order_down_h.png"] forState:UIControlStateNormal];

                [btn setTitleColor:RGBCOLOR(253, 113, 34) forState:UIControlStateNormal];

                

            }

            

        }else

        {//timebutton 排序

           

            if (priceButtonIsDescending)

            {//降序-》降序

                [self.priceButtonsetImage:[UIImageimageNamed:@"icon_order_down.png"] forState:UIControlStateNormal];

                [self.priceButtonsetTitleColor:RGBCOLOR(116, 116, 116) forState:UIControlStateNormal];

                

            }else

            {//升序 --》升序

                [self.priceButtonsetImage:[UIImageimageNamed:@"icon_order_up.png"] forState:UIControlStateNormal];

                [self.priceButtonsetTitleColor:RGBCOLOR(116, 116, 116) forState:UIControlStateNormal];

                

            }

          

            if (timeButtonIsDescending)

            {//降序--》升序

                timeButtonIsDescending = NO;

                [btn setImage:[UIImageimageNamed:@"icon_order_down_h.png"] forState:UIControlStateNormal];

                [btn setTitleColor:RGBCOLOR(253, 113, 34) forState:UIControlStateNormal];

                

            }else

            {//升序---》降序

                timeButtonIsDescending = YES;

                [btn setImage:[UIImageimageNamed:@"icon_order_up_h.png"] forState:UIControlStateNormal];

                [btn setTitleColor:RGBCOLOR(253, 113, 34) forState:UIControlStateNormal];

                

            }

        }

     

        

            

        

        NSMutableArray *mutableArray = [[NSMutableArray alloc] initWithArray:arr];

        self.fListArray = mutableArray;

        [self.expansionTableViewreloadData];

    }

     

  • 相关阅读:
    Mvc的路由
    Java编程思想——第14章 类型信息(一)RTTI
    让你的sql开启氮气加速
    CountDownLatch和CycliBarrier介绍
    Java编程思想——第21章 并发
    emojy表情的小问题
    ThreadPoolExecutor使用方法
    Java8两大特性(一)——Stream
    js保留两位小数(不四舍五入)
    vant popup能不能插在body下
  • 原文地址:https://www.cnblogs.com/guligei/p/3068642.html
Copyright © 2011-2022 走看看