替换多维NSMutableArray中的元素?

时间:2014-06-16 22:37:10

标签: objective-c multidimensional-array nsmutablearray

我需要能够替换多维NSMutableArray(实际嵌套)字符串中的对象。

我知道你会做一个单维数组:

[arrayOfTiles replaceObjectAtIndex:4 withObject:@"w"];

但不确定如何为多维数组(在本例中为嵌套数组)执行此操作。

这是我设置的数组。

NSMutableArray *arrayOfTiles = [[NSMutableArray alloc] initWithCapacity: 5];
[arrayOfTiles insertObject: [NSArray arrayWithObjects: @"a", @"b", @"c", @"d",
                      @"e", nil] atIndex: 0];
[arrayOfTiles insertObject: [NSArray arrayWithObjects: @"f", @"g", @"h", @"i",
                      @"j", nil] atIndex: 1];

我如何完成简单的替换say(例如)字母“i”以在运行时将其更改为字母“w”?

2 个答案:

答案 0 :(得分:1)

你需要首先使内部数组可变

NSMutableArray *arrayOfTiles = [[NSMutableArray alloc] initWithCapacity: 5];
[arrayOfTiles insertObject: [NSMutableArray arrayWithObjects: @"a", @"b", @"c", @"d",
                      @"e", nil] atIndex: 0];
[arrayOfTiles insertObject: [NSMutableArray arrayWithObjects: @"f", @"g", @"h", @"i",
                      @"j", nil] atIndex: 1];

然后你可以这样做

arrayOfTiles[1][3] = @"w";

答案 1 :(得分:0)

使用现代表示法,您可以将嵌套NSArray视为多维C数组

arrayOfTiles[1][3] = @"w";