不可变数组 NSArray
C语言的数组里面只能存放同一种基本数据类型
OC的数组可以存放多种类型的数据(必须是对象类型,不能存放简单地数据类型)
注意:我们在实际编程过程中 尽量在一个数组里面存放同一种类型
1、创建一个数组
NSArray *array = @[@"pxd", xw, zs, ww, hz];
NSArray *array2 = @[array, @"zp", @"wc"];
//创建一个空的数组
NSArray *array3 = [NSArray array];
NSArray *array4 = [[NSArray alloc] init];
NSArray *array5 = [NSArray arrayWithArray:array];
NSArray *array6 = [[NSArray alloc] initWithArray:array];
NSArray *array7 = [NSArray arrayWithObject:xw];
//创建的时候初始化一部分数据
//数据结尾为nil 不能向数组里面添加一个值为nil的对象
NSArray *array8 = [NSArray arrayWithObjects:xw, zs, nil];
NSArray *array8_1 = [[NSArray alloc] initWithObjects:xw, zs, nil];
NSLog(@"....%@", array8);
2、获取数组元素的个数 count
NSLog(@”the count of array8 is%ld“,[array8 count]);
3、获取索引位置对应的元素(对象)
//2.访问数组里面的某个元素 使用索引值访问index
Person *temp = [array8 objectAtIndex:0];
//3.获取数组里面的最后一个元素
Person *temp2 = [array8 lastObject];
Person *temp3 = [array8 firstObject];
4、遍历数组
for (int i = 0; i < array8.count; i++){
NSLog(@"%@", [array8 objectAtIndex:i]);
}
//使用快速循环
for (Person *p in array8){
NSLog(@"%@", p);
}
5、判断数组里面是不是包含某一个对象
if ([array8 containsObject:@"pxdadfafa"]) {
NSLog(@"YES");
} else{
NSLog(@"NO");
}
6、获取某个对象在数组里面的索引值
NSInteger index = [array8 indexOfObject:@"pxdafafa"];
NSMutableArray 可变数组
1、创建
NSMutableArray *mArray = [NSMutableArray arrayWithCapacity:3];
2、增加 addObject
[mArray addObject:xw];
[mArray addObject:zs];
3、插入元素 insertObjectAtIndex:
[mArray insertObject:array5 atIndex:0];
4、删除元素
[mArray removeObject:xw];
[mArray removeObjectAtIndex:0];
//删除所有
[mArray removeAllObjects];
5、交换元素的位置
[mArray exchangeObjectAtIndex:0 withObjectAtIndex:1];