将对象添加到NSMutableArray的开头?

gur*_*ooj 45 iphone objective-c deque nsmutablearray ios

有没有一种有效的方法来添加一个对象来开始NSMutableArray?我正在寻找一个好的双端队列objective C.

Man*_*lio 102

只是

[array insertObject:obj atIndex:0];
Run Code Online (Sandbox Code Playgroud)

查看文档

  • 如果索引已被占用,则索引及其后的对象通过在索引中加1来移动以腾出空间. (37认同)
  • 使用此方法时需要考虑的事项很少.如果数组为空,则只能在索引0处插入对象.因此,如果数组包含5个对象,则可以在第5个索引处插入对象.尝试在索引6处插入值将导致异常. (2认同)

use*_*019 5

正如其他答案所指出的那样只需使用该insertObject:atIndex方法.它是有效的,因为NSArrays不一定由连续的内存组成,即当插入特别是对于大数组,即数十万个元素时,元素并不总是被移动.请参阅此博客还要注意,在目标C中,只有指针在数组中移动,因此memmove可以在内部使用,而不像C++那样必须进行复制.

也是这个SE问题.