Добавить объект в начало NSMutableArray? - PullRequest
45 голосов
/ 03 сентября 2011

Есть ли эффективный способ добавить объект в начало NSMutableArray? Я ищу хорошую двустороннюю очередь в objective C, которая также будет работать.

Ответы [ 2 ]

102 голосов
/ 03 сентября 2011

Просто

[array insertObject:obj atIndex:0];

Проверьте документацию

5 голосов
/ 03 сентября 2011

Как уже отмечалось в других ответах, используйте метод insertObject:atIndex. Это эффективно, поскольку NSArrays не обязательно состоят из смежной памяти, то есть элементы не всегда перемещаются, когда вставка происходит, особенно для больших массивов, то есть нескольких сотен тысяч элементов. См. этот блог Также обратите внимание, что в задаче C в массиве перемещаются только указатели, так что memmove можно использовать для внутренних целей, в отличие от C ++, где необходимо делать копии.

Также этот вопрос SE .

...