博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oc-NSArray
阅读量:5149 次
发布时间:2019-06-13

本文共 3439 字,大约阅读时间需要 11 分钟。

NSArray说明

-oc中枚举就是遍历的意思,区别c语言中的枚举

-Foundation中的数组(NSArray,NSMutableArray)是一组有序的对象集合

-数组只能存储对象(类的实例)

NSArray使用

-通过下标获取到数组中的各个元素

-与字符串相同,数组分为可变和不可变数组

NSArray注意

-数组中不可以存放基本数据类型,只能存放类的实例(对象)

-如若需要将基本数据类型/结构体放入数组中,需要通过NSNumber  NSValue进行“封装”

NSArray实例

创建不可变数组

1 // 创建不可变数组 2         //快速创建数组 3         NSArray *arr=@[@"mon",@"tue",@"wed"]; 4         //创建空数组 5         NSArray *array=[[NSArray alloc]init]; 6         NSArray *array1=[NSArray array]; 7         /*使用实例方法创建数组  注意数组结尾必须有nil(空)进行结束  不可删除*/ 8         NSArray *arr1=[[NSArray alloc]initWithObjects:@"123",@"231",@"133", nil]; 9         NSLog(@"%@",arr1);10         /*使用类方法创建数组*/11         NSArray *arr2=[NSArray arrayWithObjects:@"1",@"2",@"3", nil];12         NSLog(@"%@",arr2);
1 //复制  把一个数组内容复制到另一个数组内 2         NSArray *newArray=[NSArray arrayWithArray:arr1]; 3         NSLog(@"%@",newArray); 4         /*获取数组元素个数*/ 5         NSUInteger count=[arr1 count]; 6         NSLog(@"%ld",count); 7         /*根据索引值获取对象*/ 8         NSString *p=[arr1 objectAtIndex:0]; 9         NSLog(@"%@",p);10         /*向数组内添加一个元素*/11         NSArray *addArr=[newArray arrayByAddingObject:@"zhou"];12         NSLog(@"%@",addArr);13         //使用指定的字符串将数组中元素链接起来14         NSString *newStr=[newArray componentsJoinedByString:@","];15         NSLog(@"%@",newStr);16         //判定数组内是否包含某个对象17         BOOL result=[newArray containsObject:@"123"];18         NSLog(@"%d",result);19         //查询某个对象在数组中的位置20         NSUInteger index=[newArray indexOfObject:@"123"];21         NSLog(@"%d",(int)index+1);22         //获取数组最后一个元素(first第一个元素)23         NSString *last=[newArray lastObject];24         NSLog(@"%@",last);

遍历数组

1 //遍历数组(枚举)对数组内的元素依次不重复的进行遍历 2         //下标遍历(1) 3         for(int i=0;i<[newArray count];i++){ 4             NSString *element=[newArray objectAtIndex:i]; 5             NSLog(@"%@",element); 6         } 7         //(2) 8         for(int i=0;i<[newArray count];i++){ 9             NSLog(@"%@",newArray[i]);10         }11         // for in 快速遍历 遍历性高12         for(NSString *string in newArray){13             NSLog(@"%@",string);14         }15         //id 可以代表任意类型的数据,当不确定对象类型时使用16         for(id str in newArray){17             NSLog(@"%@",str);18         }

创建可变数组

1 // 可变数组继承自不可变数组 2         //1.设定元素个数进行创建   首次创建为7个元素的空间,可继续添加 3         NSMutableArray *muarr=[NSMutableArray arrayWithCapacity:7]; 4         //2.向数组内添加元素 5         NSArray *arr2=[NSArray arrayWithObjects:@"1",@"2",@"3", nil]; 6         //将不可变数组复制到可变数组内 7         NSMutableArray *muarr1=[NSMutableArray arrayWithArray:arr2]; 8         [muarr1 addObject:@"4"]; 9         for(id str in muarr1){10             NSLog(@"%@",str);11         }
1 //3.根据下标插入元素 2         [muarr1 insertObject:@"5" atIndex:4]; 3         for(id str1 in muarr1){ 4             NSLog(@"%@",str1); 5         } 6         //4.删除最后一个元素 7         [muarr1 removeLastObject]; 8         for(id str2 in muarr1){ 9             NSLog(@"%@",str2);10         }11         //5.根据指定下标删除元素12         [muarr1 removeObjectAtIndex:3];13         for(id str3 in muarr1){14             NSLog(@"%@",str3);15         }16         //6.根据对象删除元素17         [muarr1 removeObject:@"1"];18         for(id str4 in muarr1){19             NSLog(@"%@",str4);20         }21         //7.替换指定下标的元素22         [muarr1 replaceObjectAtIndex:0 withObject:@"3"];23         for(id str5 in muarr1){24             NSLog(@"%@",str5);25         }

转载于:https://www.cnblogs.com/hezhuangzhuang/p/5112007.html

你可能感兴趣的文章
洛谷P3676 小清新数据结构题(动态点分治)
查看>>
九校联考-DL24凉心模拟Day2T1 锻造(forging)
查看>>
Attributes.Add用途与用法
查看>>
L2-001 紧急救援 (dijkstra+dfs回溯路径)
查看>>
javascript 无限分类
查看>>
spring IOC装配Bean(注解方式)
查看>>
[面试算法题]有序列表删除节点-leetcode学习之旅(4)
查看>>
SpringBoot系列五:SpringBoot错误处理(数据验证、处理错误页、全局异常)
查看>>
kubernetes_book
查看>>
OpenFire 的安装和配置
查看>>
侧边栏广告和回到顶部
查看>>
https://blog.csdn.net/u012106306/article/details/80760744
查看>>
海上孤独的帆
查看>>
error: more than one device and emulator 问题解决
查看>>
Django 学习
查看>>
Linux-socket的close和shutdown区别及应用场景
查看>>
xpath
查看>>
parted分区
查看>>
图片标签img
查看>>
表哥的Access入门++以Excel视角快速学习数据库知识pdf
查看>>