我有一個可變的數組,包括字典的數組爲:全部替換鍵在字典中的數組中可可
NSArray *myArray
({
{
"COL_1" = Jhon;
"COL_2" = 01/27/13;
"COL_3" = THAILAND;
"COL_4" = 5000;
"COL_5" = No;
},
{
"COL_1" = Peter;
"COL_2" = 01/27/13;
"COL_3" = US;
"COL_4" = 4000;
"COL_5" = No;
}
})
陣列中的所有詞典按鍵相同。我想用一組來自NSArray的新鍵來替換現有的鍵。最終的陣列應該是這樣的 -
NSArray *myArray
({
{
"A" = Jhon;
"B" = 01/27/13;
"C" = THAILAND;
"D" = 5000;
"E" = No;
},
{
"A" = Peter;
"B" = 01/27/13;
"C" = US;
"D" = 4000;
"E" = No;
}
})
我不想要一個嵌套的for循環中,我要重複接管陣列中的每個元素,並再次對每個字典,遍歷每個鍵,改變密鑰。 我所做的是如下:
NSArray *myDictFnalKeys = [NSArray arrayWithObjects:@"A",@"B",@"C",@"D",@"E",nil]; // Here we have set our own keys which will replace the existing keys .
NSMutableArray *myNewArray = [[[NSMutableArray alloc] init] autorelease]; //create a new mutable dictionary
for (id myArrayInstance in array) {
NSDictionary *myNewDict = [[NSDictionary alloc] initWithObjects:[myArrayInstance allObjects] forKeys:myDictFnalKeys]; // copy the object values from old dictionary and keys from the new array.
[myNewArray addObject:myNewDict];
}
的問題是對於詞典中值不正確的順序來。 [myArrayInstance allObjects]未返回正確的順序,因此最終數組的順序不正確。它喜歡 -
NSMutableArray *newArray
({
{
A = "01/27/13";
B = No;
C = Jhon;
D = 5000;
E = THAILAND;
},
{
A = "01/27/13";
B = No;
C = Peter;
D = 4000;
E = US;
}
})
字典無序,你期望什麼? – Abizern
我的目標是用新鍵替換舊鍵。我遵循這種方法,認爲字典將以有序方式返回值。是否有任何方法來實現所需的功能。 – triandicAnt
NSMutableArray * myNewArray = [NSMutableArray array]; //創建一個新的可變字典(這是自動發佈) – geowar