通过字母数字属性对NSArray自定义对象进行排序的最佳方法

时间:2015-02-27 08:45:38

标签: ios sorting nsarray nspredicate nssortdescriptor

正如我在标题中所说的那样,我有一个NSArray个对象,而这些对象又具有这种格式的NSString属性(我提供了一种正则表达式来解释):[1-9] + [AZ] *

我想首先按照第一个数字字符排序这样的数组,然后按最后的字母字符排序,例如:如果我有6个带字符串的对象[@“1”,@“1A”,@“ 3“,@”2D“,@”10B“,@”1B“],我想得到排序数组[@”1“,@”1A“,@”1B“,@”2D“,@ “3”,@“10B”]。

由于我想按NSString的属性排序,我怎么能实现呢?

提前致谢

1 个答案:

答案 0 :(得分:1)

有一种非常简单的方法可以做同样的事情:

NSArray *unsortedArray =  @[@"1", @"1A", @"3", @"2D", @"10B", @"1B"];
NSArray *sortedArray  = [unsortedArray sortedArrayUsingSelector:@selector(localizedStandardCompare:)];

NSLog(@"%@",sortedArray);

享受你的编码.... :)