使用索引号数组对NSArray进行排序

ims*_*ive 1 arrays objective-c ios

我有这样一个数组:

NSArray *needSortedArray = @[@"Alex", @"Rachel", @"Mohamad"];
Run Code Online (Sandbox Code Playgroud)

和一个像这样的索引数组:

NSArray *indexArray = @[@1, @0, @2];
Run Code Online (Sandbox Code Playgroud)

所以我想要的输出看起来像这样:

needSortedArray = @[@"Rachel", @"Alex", @"Mohamad"];
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?可能吗?

dev*_* gr 5

试试这个:

    NSArray *unsortedArray = @[@"Alex", @"Rachel", @"Mohamad"];
    NSArray *indexArray = @[@1, @0, @2];

    NSMutableArray * sortedArray = [[NSMutableArray alloc] initWithCapacity:unsortedArray.count];
    for (NSNumber * num in indexArray)
    {
        [sortedArray addObject:[unsortedArray objectAtIndex:num.integerValue]];
    }

   //now sortedArray has sorted objects.
Run Code Online (Sandbox Code Playgroud)