0

我在对包含 int 的 NSStrings 的 NSMUtableArray 进行排序时遇到了一个小问题。我是这样排序的

    scoreString=[NSString stringWithFormat:@"%lld",GameScore];
    [scorearr addObject:scoreString];
    NSSortDescriptor* sortOrder = [NSSortDescriptor sortDescriptorWithKey: @"self" ascending: NO];
    NSArray *scoreArray= [scorearr sortedArrayUsingDescriptors: [NSArray arrayWithObject: sortOrder]];
    scorearr =(NSMutableArray *)ary;
4

2 回答 2

1

您正在使用可变数组,因此最好编写

NSSortDescriptor* sortOrder = [NSSortDescriptor sortDescriptorWithKey: @"self" ascending: NO];
[scorearr sortUsingDescriptors:[NSArray arrayWithObject: sortOrder]];

这样你就不会在排序时创建新数组。

于 2012-05-05T11:15:39.767 回答
0

好的,我已经完成了,

    NSNumber *inrank=[NSNumber numberWithInt:GameScore];
    scoreString=[NSString stringWithFormat:@"%lld",GameScore];
    [scorearr addObject:inrank];
    NSLog(@"%@",scorearr.description);
    //sorting array
    sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];
    NSSortDescriptor* sortOrder = [NSSortDescriptor sortDescriptorWithKey: @"self" ascending: NO];
    NSArray *scoreArray= [scorearr sortedArrayUsingDescriptors: [NSArray arrayWithObject: sortOrder]];
    scorearr =(NSMutableArray *)scoreArray;
    NSLog(@"%@",scoreArray.description);
于 2012-05-05T11:06:37.067 回答