/ / nested nsmutablearrays shorthand - Ziel-c, nsmutablearray

geschachtelte nsmutablearrays shorthand - objective-c, nsmutablearray

Ich möchte objektive c-Kurzschrift verwenden, um auf verschachtelte nsmutablearrays zuzugreifen.

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]);
}
}

gibt viele Nullen. Was mache ich falsch?

Antworten:

0 für die Antwort № 1

Nur ein Gedanke auf den ersten Blick, ohne wirklich zu forschen.

Sie haben das erste Array nicht initialisiert. auch sollte man wohl "array" verwenden, um nicht "neu" zu initialisieren

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]);
}
}

Nicht 100%, wenn das dein Problem lösen wird, habe ich verschachtelte Arrays in objc nicht vorher versucht.

Du könntest es auch versuchen

NSMutableArray *board = [NSMutableArray arrayWithCapacity:3]

wenn es immer noch nicht funktioniert