替换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];

我如何在运行时完成一个简单的替换(例如)将字母"I"更改为字母"w"?

首先要让内部数组可变

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";

使用现代符号,您可以像对待多维C数组一样对待嵌套的NSArray

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

相关内容

  • 没有找到相关文章

最新更新