簡體   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