0

私のアプリでは、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:)];
4

1 に答える 1

0

および配列を作成する前にDicPicklistValues、配列を並べ替えることができます。(ちなみに、変数の名前は通常、小文字で始まります。)queueIdqueueLabel

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 ...

queueIdおよびqueueLabel配列を作成する簡単な方法もあります。

NSArray *queueId = [sortedPicklistValues valueForKey:@"Value"];
NSArray *queueLabel = [sortedPicklistValues valueForKey:@"Label"];
于 2012-09-01T08:32:15.720 に答える