Objective c 如果数组数据不是';在特定索引处插入数据时是否不存在?

Objective c 如果数组数据不是';在特定索引处插入数据时是否不存在?,objective-c,Objective C,鉴于此代码: NSMutableArray *arr=[[NSMutableArray alloc]init]; [arr insertObject:@"abc" atIndex:4]; 会发生什么 此外: 插入是如何工作的?它是否删除该元素并插入?在索引上: 数组中要插入对象的索引。此值不得大于数组中的元素计数。重要提示:如果索引大于数组中的元素数,则引发NSRangeException 因此,在第一个示例中,您将得到一个范围异常,因为4>0 继续 如果index已被占用,则索引处和索引以

鉴于此代码:

NSMutableArray *arr=[[NSMutableArray  alloc]init];
[arr insertObject:@"abc" atIndex:4];
会发生什么

此外:

插入是如何工作的?它是否删除该元素并插入?

索引上:

数组中要插入对象的索引。此值不得大于数组中的元素计数。重要提示:如果索引大于数组中的元素数,则引发
NSRangeException

因此,在第一个示例中,您将得到一个范围异常,因为4>0

继续

如果
index
已被占用,则索引处和索引以外的对象将通过向其索引添加1来移动,以腾出空间

在第二个示例中,c和d将被移位,因此数组将是“a,b,c,d”


将来,请检查文档/在发布问题之前先尝试。

Er,为什么不试试看呢?我现在不知道如何插入工作,请告诉我如何在数组中插入元素我正在尝试但不知道,但我正在尝试第二个示例,但他们给我错误“分段错误(核心转储)”如果是,程序是否正确?当我尝试时,他们给我一个错误“分段错误(内核转储)”#导入int main(int argc,const char*argv[]){NSAutoreleasePool*pool=[[NSAutoreleasePool alloc]init];NSLog(@“hello world”);NSMutableArray*arr;arr=[[NSMutableArray alloc]initWithObjects:@“a”,“c”,“d”;[arr insertObject:@“b”atIndex:1];NSLog(@“Array%@”,arr);[pool drain];返回0;}
NSMutableArray *arr=[[NSMutableArray  alloc]initWithObject:@"a",@"c",@"d"];
[arr insertObject:@"b" atIndex:1];