我需要能够在多维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";