NSArray和NSMutableArray

NSArray

  1. NSArray的实例是无法改变的,一旦NSArray实例被创建后,就无法添加或删除数组里的指针,也无法改变数组的指针顺序。

  2. 创建方法:

//创建对象实例
NSDate now = [NSDate date];
NSDate tomorrow = [now dateByAddingTimeInterval:24.060
60];
NSDate yesterday = [now dateByAddingTimeInterval:-24.060*60];

//创建NSArray实例
NSArray *datelist = @[now,tomorrow,yesterday];

//访问NSArray实例
NSLog(@"%@\n",datelist[0]);
NSLog(@"%@\n",datelist[1]);
NSLog(@"%@\n",datelist[2]);
NSLog(@"%lu\n",[datelist count]);
```

  1. 与NSString类似,NSArray也可以用字面量语法创建实例。

  2. 数组的内容写在方括号里,使用逗号分隔,前方带有@符号,不必另外发生创建实例的消息。

  3. 遍历访问NSArray:

NSDate now = [NSDate date];
NSDate tomorrow = [now dateByAddingTimeInterval:24.060
60];
NSDate yesterday = [now dateByAddingTimeInterval:-24.060*60];

NSArray *datelist = @[now,tomorrow,yesterday];
NSLog(@"%@\n",datelist[0]);
NSLog(@"%@\n",datelist[1]);
NSLog(@"%@\n",datelist[2]);

//遍历数组
NSLog(@"%lu\n",[datelist count]);
NSInteger datecout = [datelist count];
for (int i = 0 ; i < datecout; i++) {
NSDate *d = datelist[i];
NSLog(@"Here is a date: %@",d);
}
//快速枚举
for (NSDate *d in datelist) {
NSLog(@"Here is a date: %@",d);
}
```

NSMutableArray

  1. NSMutableArray实例和NSArray实例类似,但是可以添加、删除、或对指针重新进行排序

  2. 添加删除:

    //创建空数组
    NSMutableArray *dateList = [NSMutableArray array];
    
    //将now指针加入新创建的数组
    [dateList addObject:now];
    
    //将yesterday指针插入数组的起始位置
    [dateList insertObject:yesterday atIndex:0];
    
    //删除可以使用removeObject:atIndex:方法
    
  3. 使用快速枚举遍历NSMutableArray时,不能在枚举过程中增加或删除数组中的指针,如果遍历时需要添加或删除指针,则需要使用标准的for循环。

你可能感兴趣的:(NSArray和NSMutableArray)