繁体   English   中英

如何根据iPhone中的值按字母顺序对NSMutableArray进行排序

[英]How to sort NSMutableArray in Alphabetical order according to there values in iPhone

在我的应用我收到从Web服务器的一些队列细节的价值,我已经存储了队列ID和NSMutableArray的队列冠军,现在我需要的字母顺序进行排序队列冠军,但如果我这样做我所有的队列ID值搞混向上,因此如何使队列标题应按字母顺序排序并存储在其中的相应队列ID值。

NSArray *DicPicklistValues = [tempPickList valueForKey:@"PickListValue"];
for(int i=0;i<[DicPicklistValues count];i++){

    NSDictionary *tempDic = [DicPicklistValues objectAtIndex:i];
    [queueId addObject:[tempDic objectForKey:@"Value"]];
    [queueLabel addObject:[tempDic objectForKey:@"Label"]];
}

[queueLabel sortUsingSelector:@selector(localizedCaseInsensitiveCompare:)];

您可以构建queueIdqueueLabel数组之前DicPicklistValues数组进行排序。 (顺便说一下,变量名通常以小写字母开头。)

NSArray *dicPicklistValues = [tempPickList valueForKey:@"PickListValue"];
NSSortDescriptor *sort = [NSSortDescriptor sortDescriptorWithKey:@"Label"
                        ascending:YES
                        selector:@selector(localizedCaseInsensitiveCompare:)];
NSArray *sortedPicklistValues = [dicPicklistValues sortedArrayUsingDescriptors:[NSArray arrayWithObject:sort]];
// now use sortedPicklistValues instead of dicPicklistValues ...

还有一种更简单的方法来构建queueIdqueueLabel数组:

NSArray *queueId = [sortedPicklistValues valueForKey:@"Value"];
NSArray *queueLabel = [sortedPicklistValues valueForKey:@"Label"];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM