嵌套的nsmutablearrays简写

时间:2014-08-14 01:30:41

标签: objective-c nsmutablearray

我想使用Objective c速记来访问嵌套的nsmutablearrays。

NSMutableArray *board;
board[0] = [NSMutableArray new];
board[1] = [NSMutableArray new];
board[2] = [NSMutableArray new];
board[0][0] = @"a";
board[0][1] = @"b";
board[0][2] = @"c";
board[1][0] = @"d";
board[1][1] = @"e";
board[1][2] = @"f";
board[2][0] = @"g";
board[2][1] = @"h";
board[2][2] = @"i";
for (int r = 0; r < 3; r++) {
    for (int c = 0; c < 3; c++) {
        NSLog( @"%@", board[r][c]);
   }  
}

给出了很多空值。 我做错了什么?

1 个答案:

答案 0 :(得分:0)

乍一看,没有真正做过任何调查......

你还没有初始化第一个数组.. 你应该使用“数组”初始化而不是“新”

NSMutableArray *board = [NSMutableArray array];
board[0] = [NSMutableArray array];
board[1] = [NSMutableArray array];
board[2] = [NSMutableArray array];
board[0][0] = @"a";
board[0][1] = @"b";
board[0][2] = @"c";
board[1][0] = @"d";
board[1][1] = @"e";
board[1][2] = @"f";
board[2][0] = @"g";
board[2][1] = @"h";
board[2][2] = @"i";
for (int r = 0; r < 3; r++) {
    for (int c = 0; c < 3; c++) {
        NSLog( @"%@", board[r][c]);
   }  
}

如果这样可以解决您的问题,那么不是100%,我之前没有在objc中尝试过嵌套数组。

你也可以尝试

NSMutableArray *board = [NSMutableArray arrayWithCapacity:3]

如果它仍无法正常工作