Какао само по себе не имеет класса Queue, и стандарта как такового нет, но есть несколько вариантов, один из которых может лучше всего соответствовать вашим потребностям. См. этот вопрос (и мой ответ ).
Как вы сказали, вы можете свернуть свои собственные, используя NSMutableArray. Если вам просто нужна быстрая очередь с ошибками (и вы не беспокоитесь о копировании, кодировании / декодировании, перечислении и т. Д.), То решение @Matt предлагает простой подход. Вам также следует рассмотреть возможность добавления методов очереди к NSMutableArray
через категорию , что приятно, поскольку ваша «очередь» также является массивом (так что вы можете передать ее для параметров NSArray), и вы получите все NS (Mutable) Array функциональность бесплатно.
Если важна производительность, я рекомендую использовать структуру, которая идеально подходит для удаления первого элемента. Я написал CHCircularBufferQueue для моей собственной структуры по этой самой причине. (Не пытаясь зацепить мой собственный рог, просто пытаясь спасти других некоторое время.)