我需要将数组中的一组字符串排序为某个预定义的顺序,例如,如果我的数组包含字段[a,b,c,d],那么我需要将元素排序为预定义顺序[c,a如果源数组错过任何元素,那么我还需要以预定义的方式对它进行排序,就像源数组包含[a,c,d]那样我需要结果为[c,a,d],这可能是在iPhone SDK中使用NSPredicate。
提前致谢
答案 0 :(得分:1)
我只使用NSString内置的compare:方法:
NSArray *newArray = [oldArray sortedArrayUsingSelector:@selector(compare:)];
答案 1 :(得分:0)
您可以使用NSSortDescriptor对数组进行排序,例如:
NSSortDescriptor *order = [[NSSortDescriptor alloc] initWithKey:@"key" ascending:YES];
NSArray *sorts = [[NSArray alloc] initWithObjects:order,nil];
NSArray *sortedArray = [myArray sortedArrayUsingDescriptors:sorts];
[sorts release];
[order release];
您创建了一个按顺序应用的排序描述符数组。
您还可以使用选择器进行排序,请参阅此答案以获取更多选项:How to sort an NSMutableArray with custom objects in it?