我有一个NSArray,其中填充了来自NSMutableArray的对象。 这些对象中大多数都具有像“1”,“2”,“3”,“4”,“5”这样的整数值,有时会出现像“home”,“far left”或“far right”这样的名称。 我正在尝试在Objective C中对此数组进行排序。 当数组中的项目少于10个时,使用sortedArrayUsingSelector:@selector(compare :)可以正常工作。 但是当有更多项目时,我开始得到“1”、“10”、“11”、“12”、“2”、“3”之类的东西。 任何帮助都将不胜感激。 代码不应该返回任何内容。 它只需要排序并继续运行。
```objective-c NSArray *unsortedArray = [NSArray arrayWithArray:myMutableArray]; NSArray *sortedArray = [unsortedArray sortedArrayUsingSelector:@selector(compare:)];
```
原始代码:
```objective-c NSArray *unsortedArray = [NSArray arrayWithArray:myMutableArray]; NSArray *sortedArray = [unsortedArray sortedArrayUsingSelector:@selector(compare:)];
```
presetNamesSort = [[[NSMutableArray alloc]init]retain];
presetNamesSort = [presetNames sortedArrayUsingSelector:@selector(compare:)];
NSArray
的-sortedArrayUsingDescriptors:
方法,并使用NSSortDescriptor
根据多个条件进行排序。 您可以创建两个排序描述符(一个基于“company”键,另一个基于“date”键),它将使用这两个键进行排序。 - Itai FerberNSArray
:第一个是“公司”,第二个是“日期”。排序后的数组将首先按公司排序,然后对于具有相同公司的条目,再按日期排序。 - Itai Ferber