zoukankan      html  css  js  c++  java
  • 一个漫长的排序,

    //order by price or time

    -(void)sortFilght:(id)sender

    {

        UIButton *btn = (UIButton *)sender;

        if (btn.tag == 1) {

            if (priceButtonFirstIn) {

                if(priceButtonIsDescending){

                    priceButtonIsDescending = NO;

                }else{

                    priceButtonIsDescending = YES;

                }

                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];

    }

     

  • 相关阅读:
    win10+CUDA8.0+vs2013配置
    TX2更新源失败的问题
    并发编程--乐观锁与悲观锁
    并发编程--线程池
    并发编程--多线程基础(02)
    并发编程--多线程基础(01)
    搭建redis集群的过程中遇到的问题
    redis集群搭建(伪集群)
    关于maven项目中修改的JS不生效的解决方案
    【转载】IntelliJ IDEA 2017常用快捷键
  • 原文地址:https://www.cnblogs.com/guligei/p/3066972.html
Copyright © 2011-2022 走看看