------期待与您交流! -------
一、NSArray(不可变数组)(有序的)
1. Foundation框架下有很多类:NSString,NSArray,NSSet,NSDictionary,NSDate,NSObject
2. NSArray是一个集合类(只能存放OC 对象,不能存放非OC对象(基本数据类型:int,struct,enum))
3. 创建方式:
(1)NSArray*array=[NSArraywithobjects:@"jack",@"rose",nil]; //nil是数组元素结束的标志
(2)快速创建:NSArray*array=@[@"jack",@"rose"] //一般选用这种创建方式
4. OC数组不能存放空值(nil)
5. 数组元素的个数:
[array count];
NSLog(@"%ld",array.count)
6. 拿出数组中的某个元素
(1)[array objectAtIdex:1]; //拿出数组的第一个元素
(2)array[0]; (一般选用这种方式)
7. NSArray的遍历
(1)for(int i=0;i<array.count;i++)
{
NSLog(@ "@%",array[i]);
}
(2)快速遍历
for (id obj in array) // id obj代表数组中的每一个元素,把array中的每个元素拿出来,赋值给obj
{
// 找出obj元素在数组中的位置
NSUInteger i=[arrayindexOfObject :obj];
NSLog(@"%@-%@",i,obj);
}
(3)利用block
[array enumerateObjectsUsingBlock:
// 每遍历到一个元素,就会调用一次block
// 并且当前元素和索引位置当做参数传给block
^(id obj, NSUInteger idx, BOOL *stop) //stop为停止遍历
{
NSLog(@"%ld - %@", idx, obj);
if (idx == 0)
{
// 停止遍历
*stop = YES;
}
}];
二、NSMutableArray(NSArray的子类)(可变数组)(无序的)
1. 添加元素
NSMutableArray*array=[NSMutableArray array];
[array addobject:[[person alloc]init]];
[array addobject:@"jack"];
2. 删除元素
[array removeAllobjects]; //删除所有元素
[array removeobject:@"jack"];//删除指定元素"jack"
[array removeobjectAtIndex:2];//删除第二个元素
*错误写法
(1)[array addobject:10]; //OC数组不能存放基本数据类型
(2)[array addobject:nil]; //不能为空
(3)NSMutableArray*array=@[@"jack",@"rose"];//@[]只可以创建不可变数组NSArray