OC -- NSArray

不可变数组 NSArray
C语言的数组:盛放同一类型变量的有序容器
OC语言的数组:只能存放对象的有序容器
在控制台中,数组以 () 的形式打印,多个元素间使用‘,’间隔

main.m

//1.创建
//1.实例方法
  NSArray *array1 = [[NSArray alloc]init];
  NSArray *array2 = [[NSArray alloc]initWithObjects:@"0",@"1",@"2",nil];
  NSLog(@"%@",array2);

//2.类方法
  NSArray *array3 = [NSArray array];
  NSArray *array4 = [NSArray arrayWithObjects:@"0",@"1",@"2",nil];
  NSArray *array7 = [NSArray arrayWithObject:@"0"];//一个元素的数组

//3.用数组构建数组 -> 相当于复制数组
  NSArray *array5 = [[NSArray alloc]initWithArray:array2];

//  NSArray *array6 = array5;//这不是复制 这是创建指针来指向数组,array6和array5指向的是同一个数组

  NSArray *array8 = [NSArray arrayWithArray:array2];


//4.快速创建
NSArray *array8 = @[@"aaa",@"bbb",@"ccc",@"aaa"];

NSObject *objc1 = [[NSObject alloc]init];
NSObject *objc2 = [[NSObject alloc]init];
NSObject *objc3 = [[NSObject alloc]init];

NSArray *array9 = @[objc1,objc2,objc3];


//2.属性
  //数组中的对象的个数
  NSLog(@"count = %ld",array8,count)

//3.方法

    //1.获取数组中的对象
NSLog(@"%@",array8[1]);
NSLog(@"%@",[array8 objectAtIndex:1]);

//第一个对象
NSLog(@"%@",[array8 firstObject]);

//最后一个对象
NSLog(@"%@",[array8 lastObject]);

//2.获取对象的下标
NSLog(@"%ld",[array8 indexOfObject:@"aaa"]);
NSLog(@"%ld",[array8 indexOfObjectIdenticalTo:@"aaa"]);

//限定范围 查找元素下标
NSLog(@"%ld",[array8 idexOfObject:@"aaa" inRange:NSMakeRange(2,2)]);


//3.判断数组是否包含某个对象
BOOL isTrue = [aray8 containsObject:@"aaa"];

//4.数组元素以字符串的形式输入
/*
  是NString的分割方法的相反操作
*/

//连接
NSString *string = [array8 componentsJoineByString:@"~!~"];
NSLog(@"%@",string);

//分割
NSArray *array10 = [string componentSeparatedByString:@"~!~"];
NSLog(@"%@",array10);

//5.遍历
//传统遍历
for (int i = 0;i< array10.count;i++)
{
  NSLog(@"%@",array10[i]);
}


/*
快速遍历
    for (数组中对象的类型  *每次获取的对象 in  要遍历的数组)
*/
for (NSString *string in array10)
{
  NSLog(@"%@",string);
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容