如何更改逆序NSMutableArray存储的值?

时间:2015-08-18 06:42:39

标签: ios objective-c uitableview

我创建了按钮点击以完全反转更改Tableview值。

例如:

普通的桌面视图

----------------------------------------------
 Name           A             B            C
----------------------------------------------
 anis            20           20          1
----------------------------------------------
 dols            30           30           2
----------------------------------------------

Button first click更改tableview column值,如下所示

----------------------------------------------
 Name          A             B            C
----------------------------------------------
 dols            30           30           2
----------------------------------------------
 anis            20            20          1
----------------------------------------------

Button second click再次更改tableview列的正常位置

FYI :上面的表格中有多个custom cell多个NSMutableArray标签,我出于某种原因使用了该标签。

我已成功通过以下代码

完成名称逆序更改
names  = [[[alertArray allKeys] sortedArrayUsingDescriptors:[NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:keys ascending:NO]]] mutableCopy];

但现在我需要"How to change reverse cell other values A B C like above diagram 2(它不是排序工作)。

以下代码我将单独的值存储到单独的NSMutableArrays

NSArray * sortedKeys = .....;

    for (NSString *keys in sortedKeys) {
        [name_array addObject:keys];
        [A_array addObject:[alertArray objectForKey:keys][@"A"]];
        [B_array addObject:[alertArray objectForKey:keys][@"B"]];
        [C_array addObject:[alertArray objectForKey:keys][@"C"]];
   }

2 个答案:

答案 0 :(得分:3)

$users

  

您也可以使用NSSortDescriptor

reversedArray = [[theMutableArray reverseObjectEnumerator] allObjects];

NSSortDescriptor* sortDes = [[NSSortDescriptor alloc] initWithKey:@"your key" ascending:YES];
[_array sortUsingDescriptors:[NSArray arrayWithObject:sortDes]];

[tableAry sortUsingDescriptors:
     [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"name" ascending:YES selector:@selector(caseInsensitiveCompare:)]]];

    NSLog(@"tableAry : %@",tableAry);

答案 1 :(得分:3)

假设您正在从数组myTableViewArray填充您的tableview数据。

在您切换它的方法中

myTableViewArray = [[[myTableViewArray reverseObjectEnumerator] allObjects]mutableCopy];
[myCustomTableview reloadData];