oc74--NSMutableArray

Posted 672530440

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oc74--NSMutableArray相关的知识,希望对你有一定的参考价值。

//
//  main.m
//  NSMutableArray ,可变数组

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {

    
    // 创建一个空的数组
    NSMutableArray *arrM = [NSMutableArray array];
    NSLog(@"%@", arrM);
    // 如何添加
    [arrM addObject:@"lnj"];
    // 将指定数组中的元素都取出来, 放到arrM中
    // 并不是将整个数组作为一个元素添加到arrM中
    [arrM addObjectsFromArray:@[@"lmj", @"jjj"]];
    // 注意: 以下是将整个数组作为一个元素添加
    [arrM addObject:@[@"lmj1", @"jjj1"]];
    NSLog(@"%@", arrM);//(lnj,lmj,jjj,(lmj1,jjj1))
    // 如何插入
    [arrM insertObject:@"xcq" atIndex:1];
    NSLog(@"%@", arrM);//(lnj,xcq,lmj,jjj,(lmj1,jjj1))
    
    NSRange range = NSMakeRange(2, 2);
    NSIndexSet *set = [NSIndexSet indexSetWithIndexesInRange:range];
    // 插入一组数据, 指定数组需要插入的位置, 和插入多少个
    [arrM insertObjects:@[@"A", @"B"] atIndexes:set];
    NSLog(@"%@", arrM);//(lnj,xcq,A,B,lmj,jjj,(lmj1,jjj1))
    
    // 如何删除
    [arrM removeObjectAtIndex:0];//(xcq,A,B,lmj,jjj,(lmj1,jjj1))
     NSLog(@"%@", arrM);
    
    [arrM removeLastObject];
    NSLog(@"%@", arrM);//(xcq,A,B,lmj,jjj)
    
    [arrM removeObject:@"A"];//(xcq,B,lmj,jjj)
     NSLog(@"%@", arrM);
    
    // 如何替换
    [arrM replaceObjectAtIndex:1 withObject:@"M"];
    NSLog(@"%@", arrM);//(xcq,M,lmj,jjj)
    
    // 如何获取
    NSLog(@"%@", [arrM objectAtIndex:0]);//xcq
    NSLog(@"%@", arrM[0]);//xcq
    
    // 替换
    arrM[0] = @"ZS";
    NSLog(@"%@", arrM);//(ZS,M,lmj,jjj)
    
    
    // 注意: 不能通过@[]来创建一个可变数组, 因为@[]创建出来的是一个不可变的数组
    // 如果把一个不可变数组当做一个可变数组来使用, 会引发一个运行时的错误
    NSMutableArray *arrM1 = @[@"lnj", @"lmj"];//(lnj,lmj)
    [arrM1 addObject:@"JJJ"];//报错
    
    return 0;
}

 

以上是关于oc74--NSMutableArray的主要内容,如果未能解决你的问题,请参考以下文章

oc引导怎么开机跑代码

oc渲染器提示着色器失败

UIWebView中Html中用JS调用OC方法及OC执行JS代码

缺少带有 ID 的必需视图,导航图 android

OC笔记一:Objective

在oc代码中使用swift第三方框架