insertObject: atIndex: - индекс 3 за пределами для пустого массива

Я создаю массив на основе ключа словаря:

factsBuiltArray = [NSMutableArray arrayWithCapacity: 6];
if ([statusDict count] == 10) {
    for (NSString *key in [statusDict allKeys]) {
        if ([key isEqualToString: @"currenciesAndConversions"]) {
            [factsBuiltArray insertObject:key atIndex: 0];
        }
        else if ([key isEqualToString: @"languageAndTranslations"]) {
            [factsBuiltArray insertObject:key atIndex: 1];
        }
        else if ([key isEqualToString: @"plugSize"]) {
            [factsBuiltArray insertObject:key atIndex: 2];
        }
        else  if ([key isEqualToString: @"timezone"]) {
            [factsBuiltArray insertObject:key atIndex: 3]; // crashes over here
        }
        else if ([key isEqualToString: @"population"]) {
            [factsBuiltArray insertObject:key atIndex: 4];
        }
        else if ([key isEqualToString: @"wikipedia"]) {
            [factsBuiltArray insertObject:key atIndex: 5];
        }
    }
}

Журнал сбоев:

*** -[__NSArrayM insertObject:atIndex:]: index 3 beyond bounds for empty array

Почему при вставке объекта в массив, указанный с емкостью 6, происходит сбой? Очень запутанно!

Ответы на вопрос(1)

Ваш ответ на вопрос