我想将包含Dictionary的Array添加到另一个Array。所以第一个数组包含几个项目,每个项目由4个键/值对组成。现在我想将第一个数组添加到第二个位置[i,1](所以第二个数组将是一个三维数组?)。我怎样才能做到这一点?
这是我的代码:
NSMutableArray *routenArray = [[NSMutableArray alloc] init];
NSMutableArray *firstArray = [[NSMutableArray alloc] init];
NSDictionary *firstDict = [NSDictionary dictionaryWithObjectsAndKeys:abfahrt,@"Abfahrt", ankunft, @"Ankunft", dauer, @"Dauer", route, @"Route", nil];
[firstArray addObject:firstDict];
for (int i = 0; i < firstArray.count; i++) {
routenArray [i][1] = firstArray [i];
}
答案 0 :(得分:1)
你知道,你真的需要学习“3D”数组的基础知识,一般还需要学习数组/ NSMutableArrays。
从根本上说,您使用 addObject 将项目添加到NSMutableArray。
您的问题的答案是您使用 addObject 将对象添加到“外部”数组。
你添加的东西,本身就可以是复杂的数据对象,比如阵列 - 就像你在想的那样,它就是“3D”部分。
要访问NSArray(或NSMutableArray)的元素,请使用 firstObject,lastObject或objectAtIndex 。
(你不使用大括号[1] [17]。)
我鼓励您阅读有关Xcode的NSArray的一些基本教程。
点击“勾号”标记将我的答案标记为正确,关闭此问题。然后,忘了你曾经问过这个问题:)阅读一些教程,然后询问有关NSArray的新特定问题。同时在这里搜索1000个示例和QA。
您可能正在寻找 addObjectsFromArray
一般来说要解决这样的问题。
转到Dock中获取问题所涉及的最高级别,在本例中为NSMutableArray ......
无论你多么有经验,你总能在那里找到惊人的东西。只需阅读您可以使用的每种方法;通常你会找到你想要的东西。
在这种情况下, addObjectsFromArray 是您上面的礼物。接下来,在这个网站上搜索 addObjectsFromArray ,你会发现很多很棒的示例代码和其他偶然事件。
干杯!
答案 1 :(得分:0)
没有“三维数组”。有NSArray(和NSMutableArray),它们包含对象。由于NSArray和NSDictionary本身就是对象,因此NSArray可以包含另一个NSArray,它可以包含另一个NSArray。这不会使它成为三维的。而这就是你的问题所在:“routenArray”(混合物是什么,deutsche und englische Namen?)不包含任何对象。 routenArray [0]是零。
你在写什么:
routenArray [i][1] = firstArray [i];
只是
的快捷方式[[routenArray objectAtIndex:i] replaceObjectAtIndex:1 withObject:[firstArray objectAtIndex:i]];
所以这不是你认为的那样。