我用ARC創建了簡單的項目,其中我有UITableView
。我有NSMutableDictionary
NSMutableArray
。如何在UITableView中將fromIndex換行到toIndex?
像
(
{
comment = "";
"field_name" = "field_name 1";
"main_id" = 1;
"order_index" = 0;
"picker_value" = "";
},
{
comment = "";
"field_name" = "field_name 2";
"main_id" = 2;
"order_index" = 1;
"picker_value" = "";
},
{
comment = "";
"field_name" = "field_name 3";
"main_id" = 3;
"order_index" = 2;
"picker_value" = "";
},
{
comment = "";
"field_name" = "field_name 4";
"main_id" = 4;
"order_index" = 3;
"picker_value" = "";
},
)
的關鍵"field_name"
值顯示在我的UITableView
的每個細胞。它工作正常。但我想把交換功能在我的UITableViewCell
。
例如:
1 value - 0 order_index
2 value - 1 order_index -----
3 value - 2 order_index |-> I Want to swap value 2 to 4…(But do not want to change order_index)
4 value - 3 order_index -----
It should Be
1 value - 0 order_index
4 value - 1 order_index
3 value - 2 order_index
2 value - 3 order_index
value of dictionary will swap but do not want to change order_index
我知道的UITableView
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath
{
if(indexPath.row > self.MyArray.count-1)
return NO;
return YES;
}
// Process the row move. This means updating the data model to correct the item indices.
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath
toIndexPath:(NSIndexPath *)toIndexPath
{
// here i get fromIndexPath.row and toIndexPath.row
NSMutableDictionary *oldDict = [NSMutableDictionary dictionary];
oldDict = [(NSMutableDictionary *)[self.listOfReportField objectAtIndex:fromIndexPath.row] copy];
[self.myArray removeObject:oldDict];
[self.myArray insertObject:[self.myArray objectAtIndex:toIndexPath.row-1] atIndex:fromIndexPath.row];
[self.myArray insertObject:oldDict atIndex:toIndexPath.row];
// Here i am not swap my row , what should be i need to do here ??
}
b 方法作爲我的要求首先我想交換字典的value
但不order_index
這裏。我無法交換價值。
請給我建議。
在此先感謝。