• OC-NSArray


    数组里面只能存放对象 不能存放基础数据类型
    不能存放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自定义对象的数组排序

    具体自己去查了

  • 相关阅读:
    Glide源码解析四(解码和转码)
    Centos7环境下安装MySQL8详细教程
    如何计算win/tai/loss in paired t-test
    DSPE-PEG-PDP,DSPE-PEG-OPSS,磷脂-聚乙二醇-巯基吡啶供应,MW:5000
    索引模型的常见数据结构
    Vue路由简介
    Pytest系列(16)- 分布式测试插件之pytest-xdist的详细使用
    如何让用户对产品上瘾_让用户养成习惯的产品逻辑
    安卓Cursor封装,取值带设置默认值
    LeetCode第206题—反转链表
  • 原文地址:https://blog.csdn.net/qq_43535469/article/details/126073753