Если у вас достаточно места и вы знаете максимальный размер массива, проще всего использовать один большой статически распределенный массив и просто отслеживать его текущий логический размер.
Если памяти мало, но ресурсов процессора много, упакуйте массив на лету, а затем зарегистрируйте массивы и вызовите glDrawArrays ().
Гибридный подход заключается в использовании динамически размещаемого массива, который можно обновлять (при необходимости). Вы можете сделать это вручную, перераспределяя динамический массив, когда он приближается к заполнению, или используя какой-либо NSMutableArray. (N.B. NSArray для статических массивов; NSMutableArrays (подкласс) являются динамическими. См. Здесь. )
Надеюсь, это помогло:)