Прежде всего, насколько я знаю, когда вы вызываете:
NSMutableArray *array = [[NSMutableArray alloc] initWithCapacity: 20]
Он создаст и вернет объект NSMutableArray с достаточным объемом памяти для первоначального хранения заданного числа объектов.Это не число объектов само по себе.
Итак, ( вероятно, это не очень хороший способ ), вы можете заполнить свой массив некоторыми нулевыми объектами, например так:
for (NSInteger i = 0; i < 20; i++)
{
[array addObject:[NSNull null]];
}
И теперь вы можете использовать replaceObectAtIndex: WithObject: метод для ваших целей.Потому что я предполагаю, что это то, что вам нужно ( insertObject: AtIndex: - означает, что вы собираетесь вставить объект по какому-либо индексу, но остальная часть массива (после этого индекса) будет «двигаться»,и теперь будет array.count + 1 items).
[array replaceObjectAtIndex:someIndex withObject:someObject];