Обычно массив или список содержит записи, проиндексированные целым числом. Когда вы отправляете сообщение
objectAtIndex:<integer>
Возвращает объект для данного индекса из массива. В вашем случае это может работать со многими различными числами, но если вы попытаетесь вернуть объект из индекса, который не существует, метод выдаст исключение.