对数据模型model中时间轴排序和compare的使用

来源:互联网 发布:mac有没有升降调软件 编辑:程序博客网 时间:2024/05/18 13:10


 一、 //字母排序排序结果A-Z,a-z ,此方法常用于字母分组排序。

    NSArray *array = @[@"P",@"L",@"J",@"Q",@"S",@"N"];

    array = [array sortedArrayUsingSelector:@selector(compare:)];

   NSLog(@"array = %@", array);

    

二、字符串内容的比较,compare的使用。

   NSString *string1 = @"String";

   NSString *string2 = @"String";

    //NSOrderedSame判断两者内容是否相同

   BOOL result1 = [string1 compare:string2] == NSOrderedSame;

    

    //NSOrderedAscending判断两对象值的大小(按字母顺序进行比较,string2大于string1为真)

   BOOL result2 = [string1 compare:string2] == NSOrderedAscending;

    

    //NSOrderedDescending判断两对象值的大小(按字母顺序进行比较,string1大于string2为真)

   BOOL result3 = [string1 compare:string2] == NSOrderedDescending;


    //NSOrderedDescending判断两对象值的大小(按字母顺序进行比较,string1小于string2为真)

   BOOL result4 = [string1 caseInsensitiveCompare:string2] == NSOrderedSame;

    

    //NSCaseInsensitiveSearch:不区分大小写比较 NSLiteralSearch:进行完全比较,区分大小写      NSNumericSearch:比较字符串的字符个数,而不是字符值。

    BOOL result5 = [string1 compare:string2 options:NSCaseInsensitiveSearchNSNumericSearch] == NSOrderedSame;



三、自定义数据模型model的比较使用。

    //事例:比较数据模型中时间轴的大小,对时间排序常用的比较方法    时间轴:1364186200  、1385432943、、、、

     NSArray *array = [data sortedArrayUsingComparator:^NSComparisonResult(id obj1,id obj2) {

           Collect *object1 = (Collect *)obj1;  

           Collect *object2 = (Collect *)obj2;  

            

           if ([object1.time doubleValue] < [object2.time doubleValue]) {

                return NSOrderedDescending;

            }elseif ([object1.time doubleValue] > [object2.time doubleValue]) {

               return NSOrderedAscending;

            }

           return NSOrderedSame;

        }];

//返回的数组是已排序好的数据 离现在最近的时间排在前面

0 0
原创粉丝点击