当前位置:网站首页>OC-NSArray
OC-NSArray
2022-08-02 06:50:00 【彭同学她同桌】
数组里面只能存放对象 不能存放基础数据类型
不能存放nil nil被用于标志数组的结束
初始化
NSArray *array = [NSMutableArray array];
NSArray *array = [NSArray arrayWithObjects:@“123”,@2,@“wf”];
[NSNull null]空对象
NSArray *array = [NSArray arrayWithObjects:[NSNull null],[NSNull null],[NSNull null],nil];
NSLog(@“%@”,array);//“”,“”,“”
增
[array addObject:@“1”];
[array addObjectsFromArray:@[@“2”,@“3”]];]
插入
[array insertObject:@“0” atIndex:0];
删
删除指定对象
[array removeObject:@“2”];
删除最后一项
[array removeLastObject];
删除指定索引下的对象
[array removeObjectAtIndex:1];
删除子数组
[array removeObjectsInArray:@[@“0”,@“1”]];
根据索引替换数组中的对象
[array replaceObjectAtIndex:1 withObject:@“a”];
交换两个索引下的对象
[array exchangeObjectAtIndex:0 withObjectAtIndex:2];
覆盖元数组
[array setArray:@[@“a”,@“b”,@“c”]];//等于原来的数组就不存在了 换了一个新的数组
枚举类型
这种只能选一个
typedef NS-ENUM(NSUInteger,CustomType)
{
ONE,
TWO,
THREE,
};
这种可以多选
typedef NS-OPTIONS(NSUInteger,CustomType)
{
ONE =0,
TWO =1<<0,//1
THREE =1<<1,//2 因为这样枚举所以多选并不会覆盖上一次选择
};
多选的时候用|连接 比如ONE|TWO
常用方法
获取数组中第一位元素
array.firstObject
获取数组最后一位元素
array.lastObject
获取数组中指定索引下标
array[1]
判断数组中是否包含某项
-(BOOL)contatinsObject:(ObjectType)anObject;
如果要判断自己定义的就需要重写类 -(BOOL)isEqual:(id)object
数组枚举
for(NSString *string in array)
{
NSLog(@“%@”,string);
}
给数组里的每一个对象都发送一个消息
[array makeObjectsPerformSelector:@selector(test)];
根据对象返回索引值
[array indexOfObject:@“c”];
不可变数组后追加对象
[array arrayByAddingObject:@"“d”];
排序
sortedArrayUsingSelector
给自定义对象的数组排序
[array sortedArrayUsingSelector:@selector(compareAge:)]//这个compareAge方法需要声明和实现
sortedArrayUsingComparator 通过block自定义对象的数组排序
具体自己去查了
边栏推荐
- 数据库概论之MySQL表的增删改查2
- Day 4 of HCIP
- ADS通信--倍福PLC和C#TextBox控件实现数据绑定的方法
- Clapper that can interact with the audience in real time
- MQ带来的一些问题、及解决方案
- Resolving C# non-static field, method or property "islandnum.Program.getIslandCount(int[][], int, int)" requires an object reference
- 【红队】ATT&CK - 创建或修改系统进程实现持久化(更新ing)
- 2022年数据泄露平均成本高达435万美元,创历史新高!
- php删除一维数组中一个值
- 文件上传漏洞(二)
猜你喜欢

雷达人体存在感应器方案,智能物联网感知技术,实时感应人体存在

PWA 踩坑 - 第一次加载页面后无法获取CacheStorage某些资源

速看!PMP新考纲、PMBOK第七版解读

文件上传漏洞(二)

The second day HCIP

Day 4 of HCIP
![[npm install error report collection] - npm ERR! code ENOTEMPTY npm ERR! syscall rmdir](/img/c5/2c42e26e577506573985b30669ca6c.png)
[npm install error report collection] - npm ERR! code ENOTEMPTY npm ERR! syscall rmdir

【ROS基础】map、odom、base_link、laser 的理解 及其 tf 树的理解
![[Dataset][VOC] Eyewear dataset 6000 in VOC format](/img/66/37f76d9ce5d5f68d6ea0e18710fa04.png)
[Dataset][VOC] Eyewear dataset 6000 in VOC format

Neo4j 中文开发者月刊 - 202207期
随机推荐
php删除一维数组中一个值
optional
[21天学习挑战赛——内核笔记](一)——设备树的概述(硬件、目标、效果、文件类型)
笔记本开机黑屏提示:ERROR 0199:System Security-Security password retry count exceeded
C#重点问题之Struct和Class的异同
【机器学习】实验6布置:基于集成学习的Amazon用户评论质量预测
WebGPU 导入[2] - 核心概念与重要机制解读
SQL执行顺序
海缆探测仪TSS350(二)
Resolving C# non-static field, method or property "islandnum.Program.getIslandCount(int[][], int, int)" requires an object reference
[Dataset][VOC] Male and female dataset voc format 6188 sheets
吃透Chisel语言.30.Chisel进阶之通信状态机(二)——FSMD:以Popcount为例
数据库概论之MySQL表的增删改查1
Two good php debug tutorials
修改apt-get源为国内镜像源
gdalinfo: error while loading shared libraries: libgdal.so.30: cannot open shared object file: No su
论文《Deep Multifaceted Transformers for Multi-objective Ranking in Large-Scale E-commerce Recommender》
See the picture to understand | How to choose sales indicators to measure the health of business growth
牛客编程题中——需要处理输入较大数的题目
【网络】IP、子网掩码