1.声明
存放的是OC对象,int等非对象不能存放
NSArray *arr=@[@"jack",@"rose",@"mary"];
NSArray *arr=[NSArray arrayWithObjects:@"jack",@"rose",@"mary",nil];
2.取值
NSString *str=arr[0];
NSString *str1=[arr objectAtIndex:1];
NSUInteger size=arr.count; 或[arr count]
3.是否包含元素
BOOL res=[arr containsObject:@"lilei"];
4.查找元素索引
NSUInteger index=[arr indexOfObject:@"rose"];
if(index==NSNotFound)
{
NSLog(@"未找到rose");
}else
{
NSLog(@"找到rose了");
}
5.数组遍历
for循环
NSUInteger size=arr.count;
for(int i=0;i<size;i++)
{
NSLog(@"%@",arr[i]);
NSLog(@"%@",[arr objectAtIndex:i]);
}
for in循环,相当于java foreach
比如遍历存放NSString的NSArray
for(NSString *str in arr)
{
NSLog(@"%@",str);
}
当数组中类似不一致,使用id来遍历
for(id *id in arr)
{
NSLog(@"%@",id);
}
通过代码块来遍历
[arr enumerateObjectsUsingBlock:^(id _Nonnull obj,NSUInteger idx,BOOL * _Nonnull stop){
NSLog(@"%@",obj);
}];
obj遍历的对象,idx索引,stop是否停止遍历,改成YES停止
6.将数组中元素串联
NSString *str=[arr componentsJoinedByString:@"$"]
7.可变数组 NSMutableArray,是NSArray的子类
下面创建对象效果一样
NSMutableArray ma=[NSMutableArray new];
NSMutableArray ma=[[NSMutableArray alloc] init];
NSMutableArray ma=[NSMutableArray array];
新增元素
添加单个元素
[ma addObject:@"jack"];
添加数组
NSArray *arr=@[@"jack",@"rose"];
[ma addObject:arr];//整个数组作为一个元素
[ma addObjectsFromArray:arr];//将arr中每个元素添加到ma数组
在指定下标处插入元素
[ma insertObject:@"hanmeimei" atIndex:1];
删除元素
[arr removeObjectAtIndex:1];//删除第2个元素
[arr removeObject:@"lilei"];//删除指定值
[arr removeLastObject];//删除最后一个元素
[arr removeAllObjects];//删除所有元素
[arr removeObject:@"lili" inRange:NSMakeRange(0,3)];//删除0,3范围内,lili元素
8.基本类型numberWith***存入NSArray
NSNumber *num1=[NSNumber numberWithInt:10];
NSNumber *num2=[NSNumber numberWithFloat:20.8];
NSNumber *num3=@36.6;
NSArray *arr=@[num1,num2,num3];