initWithObjects:
должен заканчиваться трейлингом nil
.Поскольку это один объект, вы должны иметь возможность использовать initWithObject:
.Тем не менее, вы будете пропускать массив, как это.Выполните
[ppp addObject:[NSMutableArray arrayWithObject:kkk]];
Существует еще одна проблема с фрагментом кода:
NSMutableArray *kkk = [NSMutableArray arrayWithObjects: @"a", @"b", @"cat", @"dog", nil];
ppp = [NSMutableArray arrayWithCapacity:3];
[ppp addObject:[[NSMutableArray alloc] initWithObjects: kkk, nil]];
Вы создаете трехмерный массив.Так что
NSLog(@"Working: %@ %@", [[ppp objectAtIndex:0] objectAtIndex:3], [[ppp objectAtIndex:0] objectAtIndex:2] );
не так.
NSLog(@"Working: %@ %@", [[[ppp objectAtIndex:0] objectAtIndex:0] objectAtIndex:3], [[[ppp objectAtIndex:0] objectAtIndex:0] objectAtIndex:2] );
должен регистрировать правильные значения.
Однако если вам нужен двумерный массив на основе вашего оператора журнала, я бы сказал, что вам нужно сделать это вместо этого,
[ppp addObject:kkk];