0

我有一个我认为我过于复杂的问题。

我需要制作 NSMutableArray 或 NSMutableDictionary。我将添加至少两个对象,如下所示:

NSMutableArray *results = [[NSMutableArray alloc] init];

[results addObject: [[NSMutableArray alloc] initWithObjects: [NSNumber numberWithInteger:myValue01], @"valueLabel01", nil]];

这给了我需要的数组,但是在添加了所有对象之后,我需要能够按第一列(整数 - myValues)对数组进行排序。我知道当有键时如何排序,但我不确定如何添加键或者是否有另一种方法来对数组进行排序。

稍后我可能会向数组中添加更多对象。

4

3 回答 3

2

快速参考这个问题的另一个很好的答案:

如何使用 sortedArrayUsingDescriptors 对 NSMutableArray 进行排序?

在这些情况下,NSSortDescriptors 可以成为你最好的朋友 :)

于 2012-08-28T18:47:12.217 回答
0

您在这里所做的是创建一个包含两个元素的列表:[NSNumber numberWithInteger:myValue01] 和 @"valueLabel01"。在我看来,您想保留记录,每条记录都有一个数字和一个字符串?您应该首先创建一个包含数字和字符串的类,然后考虑排序。

于 2012-08-28T18:52:20.930 回答
0

sortedArrayUsingComparator: 方法不适合你吗?就像是:

- (NSArray *)sortedArray {
    return [results sortedArrayUsingComparator:(NSComparator)^(id obj1, id obj2)
    {
        NSNumber *number1 = [obj1 objectAtIndex:0];
        NSNumber *number2 = [obj2 objectAtIndex:0];
        return [number1 compare:number2]; }];
    }
于 2012-08-28T18:56:05.167 回答