2

我有一个包含 NSDictionaries 的 NSMutableArray。我在 SO 上发现了一个问题,并且正在使用此代码对这个 NSMutableArray 进行排序:

NSMutableArray

{
    data =         {
   etc... (for length)
    };
    number = 1;
},
{
    data =         {
       etc... (for length)
    };
    number = 3;
},
{
    data =         {
       etc... (for length)
    };
    number = 4;
},
{
    data =         {
       etc... (for length)
    };
    number = 2;
}

该数组最多可包含 80 个子字典。

NSSortDescriptor

NSSortDescriptor *descriptor = [[NSSortDescriptor alloc] initWithKey:@"number"  ascending:YES];
[NSMUTABLEARRAYVAR sortedArrayUsingDescriptors:[NSArray arrayWithObjects:descriptor,nil]];
 NSMutableArray *test;            
 test = [NSMUTABLEARRAYVAR copy];

当我 NSLog “测试”时,我得到与 NSMUTABLEARRAYVAR 相同的顺序???

我将不胜感激任何帮助解决这个问题,谢谢!

4

1 回答 1

2

sortedArrayUsingDescriptors不对数组进行就地排序。它返回一个新排序的数组。

sortUsingDescriptors进行就地排序。

于 2013-09-05T00:26:35.547 回答