当前位置:网站首页>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自定义对象的数组排序
具体自己去查了
边栏推荐
猜你喜欢
(部分不懂,笔记整理未完成)【图论】差分约束
入门opencv,欢笑快乐每一天
Vscode connect to remote server "Acquiring the lock on the/home / ~ 'problem
Revitalize rural circular economy and digital chain to link agricultural "ecological chain"
论文阅读 (64):Weakly-supervised Video Anomaly Detection with Robust Temporal Feature Magnitude Learning
21 days learning challenge 】 【 sequential search
Wuhan 2022 organizing of the high-performance computing added new ecological development of high-performance computing
【ROS基础】map、odom、base_link、laser 的理解 及其 tf 树的理解
【请教】SQL语句按列1去重来计算列2之和
MPLS的相关技术
随机推荐
FaceBook社媒营销高效转化技巧分享
飞桨paddle技术点整理
Specified URL is not reachable,caused by :‘Read timed out
Pagoda+FastAdmin 404 Not Found
Project development specification
技术管理三级跳
雷达人体存在感应器方案,智能物联网感知技术,实时感应人体存在
21 days learning challenge 】 【 sequential search
实例030:回文数
张驰咨询:企业实施精益管理的最大障碍,只把精益作为一种工具和方法
实例029:反向输出
(Notes are not completed) [Graph Theory] Traversal of graphs
“蔚来杯“2022牛客暑期多校训练营4,签到题NDKHL
封装class类一次性解决全屏问题
数据库概论之MySQL表的增删改查2
修改apt-get源为国内镜像源
自然语言处理 文本预处理(上)(分词、词性标注、命名实体识别等)
【云原生】如何快速部署Kubernetes
暑假第五周总结
SimpleChannelInboundHandler使用总结