2010-10-13 77 views
1

我需要按照某种预定义顺序排列数组中的一组字符串,比如,如果我的数组包含字段[a,b,c,d],那么我需要按照预定义顺序排列元素[ c,a,b,d]。如果源数组错过任何元素,那么我也需要以预定义的方式对它进行排序,就好像源数组包含[a,c,d]那么我需要结果为[c,a, d],这可能在iPhone SDK中使用NSPredicate。订单字符串数组

在此先感谢

回答

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?

1

我只是使用NSString内置的比较:方法:

NSArray *newArray = [oldArray sortedArrayUsingSelector:@selector(compare:)];