当前位置:网站首页>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自定义对象的数组排序
具体自己去查了
边栏推荐
猜你喜欢

Revitalize rural circular economy and digital chain to link agricultural "ecological chain"

(部分不懂,笔记整理未完成)【图论】差分约束

解决:- SPY: No data found for this date range, symbol may be delisted报错

Gradle系列——Gradle插件(基于Gradle文档7.5)day3-2

Pagoda+FastAdmin 404 Not Found

【故障诊断分析】基于matlab FFT轴承故障诊断(包络谱)【含Matlab源码 2002期】

电商库存系统的防超卖和高并发扣减方案

jvm 二之 栈帧内部结构

typescript 'props' is declared but its value is never read solution

yml字符串读取时转成数字了怎么解决
随机推荐
【机器学习】课程设计布置:某闯关类手游用户流失预测
埋点开发流程
吃透Chisel语言.31.Chisel进阶之通信状态机(三)——Ready-Valid接口:定义、时序和Chisel中的实现
Redis 常用命令和基本数据结构(数据类型)
WebGPU 导入[2] - 核心概念与重要机制解读
【图像去噪】基于matlab双立方插值和稀疏表示图像去噪【含Matlab源码 2009期】
CSRF-跨站请求伪造-相关知识
新产品立大功 伟世通第二季度营收双增
(Notes are not completed) [Graph Theory] Traversal of graphs
_2_顺序表
数据库概论之MySQL表的增删改查2
【心电信号】基于matlab心率检测【含Matlab源码 1993期】
LeetCode SQL 197. 上升的温度
【云原生】如何快速部署Kubernetes
【故障诊断分析】基于matlab FFT轴承故障诊断(包络谱)【含Matlab源码 2002期】
正则表达式的理解学习
【暑期每日一题】洛谷 P1192 台阶问题
【CNN回归预测】基于matlab卷积神经网络CNN数据回归预测【含Matlab源码 2003期】
php删除一维数组中一个值
【网络】IP、子网掩码