Доступ к 2D-массиву и передача строки в label.text - PullRequest
0 голосов
/ 29 апреля 2010

Я пытаюсь создать 2D-массив и инициализировать его с помощью NSStrings. Когда я пытаюсь скопировать содержимое ячейки из массива в label.text, происходит сбой приложения.

NSMutableArray *array = [NSMutableArray arrayWithCapacity:0];

[array addObject:[NSMutableArray arrayWithObjects:
                   [NSArray arrayWithObjects: @"0-0", @"0-1", @"0-2", nil],
                   [NSArray arrayWithObjects: @"1-0", @"1-1", @"1-2", nil],
                   [NSArray arrayWithObjects: @"2-0", @"2-1", @"2-2", nil],
                   nil]];

label.text = [[array objectAtIndex:0] objectAtIndex:0];

Есть идеи, почему и что я делаю не так?

1 Ответ

2 голосов
/ 29 апреля 2010

Вы создаете 3D-массив (массив массивов массивов), а не 2D-массив (массив массивов). Используйте это:

[array addObject:[NSArray arrayWithObjects: @"0-0", @"0-1", @"0-2", nil]];
[array addObject:[NSArray arrayWithObjects: @"1-0", @"1-1", @"1-2", nil]];
[array addObject:[NSArray arrayWithObjects: @"2-0", @"2-1", @"2-2", nil]];

или это:

NSMutableArray* array = [NSMutableArray arrayWithObjects:
                         [NSArray arrayWithObjects: @"0-0", @"0-1", @"0-2", nil],
                         [NSArray arrayWithObjects: @"1-0", @"1-1", @"1-2", nil],
                         [NSArray arrayWithObjects: @"2-0", @"2-1", @"2-2", nil],
                         nil]];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...