NSArray保存的对象可以是不同类型的对象。但是缺点是只能保存对象,int、char、double等基本数据类型不能直接保存,需要通过转换成Objective-C对象后才能加入数组。
NSArray array1 = @[@123, @456, @789];
NSArray array2 = @[@123, @456, @"789"];
NSArray array3 = @[@"dog", @"cat", @"pig"];
// arrayWithObjects 这种方式创建数组,数组的结尾需要添加一个空对象nil来标识数组的结尾。
NSArray *arr = [NSArray arrayWithObjects: @123, @"tom", nil];
// initWithObjects:对象方法
NSArray *array = [[NSArray alloc] arrayWithObjects: @"job", @"tom", nil];
//arrayWithArray 这个方法对原数组进行了完整的复制(深复制)
NSArray *array4 = [NSArray arrayWithArray: array3];
// 数组元素操作
id obj = [array objectAtIndex:0] // 访问元素对象
NSUInteger index = [array indexOfObjext:@"job"] // 获取元素下标
[array containsObject:@"tom"] // 查找数组包含
firstObject:获取数组中的第一个对象
@property (nullable, nonatomic, readonly) ObjectType firstObject;
lastObject:获取数组中的最后一个对象
@property (nullable, nonatomic, readonly) ObjectType lasttObject;
NSMutableArray
// NSMutableArray c创建
NSMutableArray *mArray1 = [NSMutableArray array];
NSMutableArray *mArray2 = [NSMutableArray arrayWithCapacity:100];
NSMutableArray *mArray = [[NSMutableArray alloc] initWithCapacity:100];
-(void)addObject:(ObjectType)anOnject; // 数组末尾增加元素
-(void)insertObject:(ObjectType)anObject atIndex:(NSUInteget) index; // 指定位置增加元素
-(void)replaceObjectAtIndex:(NSUInteger)index withObject:(ObjectType) anObject; // 替换某个下标元素
-(void)removeObject:(ObjectType)anObject; // 删除元素
-(void)removeObjectAtIndex:(NSUInteger)index; // 删除指定下标元素
-(void)removeAllObject; // 删除所有元素