Я пытаюсь объявить двумерный массив как переменную экземпляра в Objective C. У меня есть NSMutableArray в заголовке (data) вместе с @property (nonatomic, retain). В viewDidLoad: у меня есть:
data = [[NSMutableArray alloc] init];
[data addObject:[[NSArray alloc] initWithObjects:@"Cheese", @"Meat", @"Veggie", nil]];
[data addObject:[[NSArray alloc] initWithObjects:@"Sandwich", @"Soup", @"Stew", nil]];
Я могу NSLog массив в методе, и это правильно, однако, когда я пытаюсь Записать его из отдельного метода, я ничего не получаю (только "@"), и если я пытаюсь получить доступ с помощью
NSInteger num = [[data objectAtIndex:component] count];
вылетает без ошибок в журнале. Я уверен, что это как-то связано с неправильным распределением памяти, однако я новичок в Obj C и много лет не работал с языком в стиле C. Кстати, я пробовал много вариантов этого, которые все терпят неудачу, включая использование NSArray вместо изменяемого, [NSArray arrayWithObjects] вместо [[NSArray alloc] initWithObjects] и каждую комбинацию между ними.