如其他答案所述,只需使用insertObject:atIndex方法即可。它是高效的,因为NSArrays不一定由连续的内存组成,即元素在插入时不总是移动,特别是对于包含数百个元素的大型数组。详见此博客。此外,请注意,在Objective-C中,仅指针在数组中移动,因此可以在内部使用memmove,而不像C++那样必须进行复制。 还请参考这个SE问题。
insertObject:obj atIndex:0
时,它将替换第0个索引的对象,@Saphrosit我说得对吗? - Vijay Sanghavi