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

Expert Insights | 3 ways to seize innovation opportunities in a downturn

吃透Chisel语言.31.Chisel进阶之通信状态机(三)——Ready-Valid接口:定义、时序和Chisel中的实现
![[Dataset][VOC] Eyewear dataset 6000 in VOC format](/img/66/37f76d9ce5d5f68d6ea0e18710fa04.png)
[Dataset][VOC] Eyewear dataset 6000 in VOC format

_2_顺序表

实例026:递归求阶乘
——设备树的概述(硬件、目标、效果、文件类型)](/img/c6/6c2321bfcd184886e1cb59664bec11.png)
[21天学习挑战赛——内核笔记](一)——设备树的概述(硬件、目标、效果、文件类型)

交换--STP协议

实例030:回文数

吃透Chisel语言.30.Chisel进阶之通信状态机(二)——FSMD:以Popcount为例

【CV】OpenVINO安装教程
随机推荐
Expert Insights | 3 ways to seize innovation opportunities in a downturn
数据库概论之MySQL表的增删改查1
飞桨paddle技术点整理
以训辅教,以战促学 | 新版攻防世界平台正式上线运营!
(2022牛客多校五)C-Bit Transmission(思维)
论文《Deep Multifaceted Transformers for Multi-objective Ranking in Large-Scale E-commerce Recommender》
实验8 VLAN综合实验
LeetCode Algorithm 1374. 生成每种字符都是奇数个的字符串
C#重点问题之Struct和Class的异同
PMP新考纲考试内容介绍
【杂】pip换国内源教程及国内源地址
实例028:递归求等差数列
【云原生】如何快速部署Kubernetes
数据库概论之MySQL表的增删改查2
【机器学习】实验4布置:AAAI会议论文聚类分析
【图像隐藏】基于matlab混合DWT-HD-SVD数字图像水印方法技术【含Matlab源码 2007期】
MQ带来的一些问题、及解决方案
第06章 索引的数据结构【2.索引及调优篇】【MySQL高级】
request.getSession(), the story
张驰课堂:六西格玛培训工具——箱线图