0

在我的应用程序中,我从 Web 服务器获取了一些队列详细信息值,我已将队列 ID 和队列标题存储在 NSMutableArray 中,现在我需要按字母顺序对队列标题进行排序,但是如果我这样做,我的所有队列 ID 值都会混合up,那么如何使队列标题按字母顺序排序并存储在那里相应的队列 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

您可以在构建andDicPicklistValues数组之前对数组进行排序。(顺便说一句。变量的名称通常以小写字母开头。)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 ...

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

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