当前位置:网站首页>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自定义对象的数组排序
具体自己去查了
边栏推荐
猜你喜欢
(2022牛客多校五)D-Birds in the tree(树形DP)
【ROS基础】map、odom、base_link、laser 的理解 及其 tf 树的理解
堡垒机、堡垒机的原理
条件构造器~wapper
论文阅读 (64):Weakly-supervised Video Anomaly Detection with Robust Temporal Feature Magnitude Learning
实例032:反向输出II
你认同这个观点吗?大多数企业的数字化都只是为了缓解焦虑
At age 94, pioneer Turing award winner, computational complexity theory, Juris Hartmanis, died
【CV】OpenVINO安装教程
_2_顺序表
随机推荐
张驰课堂:六西格玛培训工具——箱线图
数据库概论之MySQL表的增删改查2
Two good php debug tutorials
【心电信号】基于matlab心率检测【含Matlab源码 1993期】
【机器学习】实验2布置:基于回归分析的大学综合得分预测
php删除一维数组中一个值
CSRF-跨站请求伪造-相关知识
以训辅教,以战促学 | 新版攻防世界平台正式上线运营!
HCIP day 3 experiment
【机器学习】实验4布置:AAAI会议论文聚类分析
ADS通信--倍福PLC和C#TextBox控件实现数据绑定的方法
线程的创建方式
【图像去噪】基于matlab双立方插值和稀疏表示图像去噪【含Matlab源码 2009期】
File upload vulnerability (2)
牛客编程题中——需要处理输入较大数的题目
笔记本开机黑屏提示:ERROR 0199:System Security-Security password retry count exceeded
[21天学习挑战赛——内核笔记](一)——设备树的概述(硬件、目标、效果、文件类型)
实例028:递归求等差数列
Neo4j 中文开发者月刊 - 202207期
gdalinfo: error while loading shared libraries: libgdal.so.30: cannot open shared object file: No su