1 #pragma mark ---------------可变数组-----------------

 2 //        可以在数组里面进行增删改的操作

 3 //

 4 //        可变数组与数组的关系:可变数组是数组的子类,

 5 //        可变数组的初始化方式

 6 //        NSMutableArray *array= [[NSMutableArray alloc] init];

 7 //        NSMutableArray *array1 = [NSMutableArray array];

 8 //        NSMutableArray *array2 = [NSMutableArray arrayWithObject:@""];

 9 //        NSMutableArray *array3 = [NSMutableArray arrayWithObjects:@"",@"", nil];

 //        NSMutableArray *array4 = @[@""];不可以这样写,切记,这是可变数组与数组的一个区别,这样初始化它里面的元素是不可变的

 //        可变数组可以向数组内添加元素

 //        使用可变数组的时候一定要初始化

         NSMutableArray *array = [NSMutableArray array];

 //        为可变数组添加方法

 //        [array addObject:@"huLuWan"];

 //        [array addObject:@"aoTeMan"];

 //        NSLog(@"%@",array);

         

 //        1.在数组中存入1~100的数

 //        数组要在循环外面初始化,否则每循环一个都会实例化一个数组

 //        for (int i = 0; i < 100; i ++) {

 ////            NSNumber *num = [NSNumber numberWithInt:i];

 ////            [array addObject:num];

 //            [array addObject:@(i)];

 //        }

 //        NSLog(@"shu:%@",array);

         

 //      孙悟空每次学习一个新技能叫 技能1.....72

 //        NSString *jineng = @"技能";

         for (int i = ; i < ; i ++) {

             //            NSNumber *num = [NSNumber numberWithInt:i];

             //            [array addObject:num];

             NSString *skillName = [NSString stringWithFormat:@"技能%d",i];

             

             [array addObject:skillName];

         }

         for (int i = ; i < ; i ++) {

             NSLog(@"shu:%@",array[i]);

         }

 //        NSLog(@"shu:%@",array);

         [array removeObjectAtIndex:];

 //        [array removeAllObjects];

         [array removeObject:@"技能7"];//把“技能7”移除

 

 //        for (int i = 0; i < 72; i ++) {

 //            NSLog(@"shu:%@",array[i]);

 //        }

 //        NSLog(@"shu:%@",array);

         

         NSMutableArray *group = [NSMutableArray array];

         for (int i = ; i < ; i ++) {

             [group addObject:[NSString stringWithFormat:@"classmate%d",i+]];

             

         }

 //        id obj 数组里面的每个元素

 //        in表示在哪个里面

 //        group 要遍历的数组

 //        和上面的for循环一样的功能

         for(id obj in group){

             NSLog(@"%@",obj);

         }

         

 //        [group firstObject];//获得数组的第一个元素

 //        [group lastObject];//获得数组的最后一个元素

         [group removeObjectAtIndex:];//移除角标为3的元素

         [group replaceObjectAtIndex: withObject:@"fengshenghai666"];//替换第三个元素为fengshenghai666

         NSLog(@"%@",group);
 
 执行结果:
 
 
 
 


objective-c可变数组的更多相关文章

  1. Objective - C NSArray不可变数组和NSMutableArray可变数组

    OC中存储数据最常用 的两个容器就是数组和字典,而作为最常用的,应该了解这所有的特点,及用法. OC中的数组是一个容量,有序的管理了一系列元素,并且存放在数组里的元素,必须是对象类型. 不可变数组,见 ...

  2. 可变数组NSMutableArray

    //创建一个空的可变数组 NSMutableArray *array = [NSMutableArray array]; //向数组里面添加对象 [array addObject:@"< ...

  3. NSArray与NSMutableArray 数组与可变数组

    1.NSArray 是一个父类,NSMUtableArray是其子类,他们构成了OC的数组.2.NSArray的创建NSArray * array = [[NSArray alloc]initWith ...

  4. iOS -Swift 3.0 -Array(数组与可变数组相关属性及用法)

    // // ViewController.swift // Swift-Array // // Created by luorende on 16/9/12. // Copyright © 2016年 ...

  5. 【转】不可变数组NSArray与可变数组NSMutableArray

    原文网址:http://www.jianshu.com/p/1ad327f56d1d 不可变数组NSArray //创建一个空数组 NSArray *array = [NSArray array]; ...

  6. Swift不可变数组

    Objective-C编写了2个不同的类来区分不可变数组(NSArray)和可变数组(NSMutableArray): Swift通过使用常量和变量来区分不可变数组和可变数组. 只要将数组定义为常量, ...

  7. OC4_可变数组

    // // main.m // OC4_可变数组 // // Created by zhangxueming on 15/6/11. // Copyright (c) 2015年 zhangxuemi ...

  8. IOS 中runtime 不可变数组__NSArray0 和__NSArrayI

    IOS 中runtime 不可变数组__NSArray0 和__NSArrayI 大家可能都遇到过项目中不可变数组避免数组越界的处理:runtime,然而有时候并不能解决所有的问题,因为类簇不一样 # ...

  9. OC基础 可变数组与不可变数组的使用

    OC基础 可变数组与不可变数组的使用 1.不可变数组 1.1不可变数组的创建 //实例方法 NSArray *array = [[NSArray alloc] initWithObjects:&quo ...

随机推荐

  1. 数论只会GCD。。。

    一些关于GCD的代码.... #include <iostream> #include <cstdio> #include <cstring> using name ...

  2. Marsedit 破解版下载(3.5.6)

    Marsedit 破解版下载(3.5.6) 最近在 Mac 端写文章经常遇到棘手的问题,最近发现了 marsedit 现在分享给大家 marsedit downloads

  3. C#之LinQ数据库

    一:与LINQ有关的语言特性 1.隐式类型 (1)源起 在隐式类型出现之前, 我们在声明一个变量的时候, 总是要为一个变量指定他的类型 甚至在foreach一个集合的时候, 也要为遍历的集合的元素,指 ...

  4. sublime linux下无法输入中文

    cd ~ vim sublime_imfix.c 输入 #include <gtk/gtkimcontext.h> void gtk_im_context_set_client_windo ...

  5. WebSocket帧数据 解码/转码

    数据从浏览器通过websocket发送给服务器的数据,是原始的帧数据,默认是被掩码处理过的,所以需要对其利用掩码进行解码. 从服务器发送给浏览器的数据是默认没有掩码处理的,只要符合一定结构就可以了.具 ...

  6. int (*p)[4] 与 int* p[4]

    碰到一道题: ][] = {,,,,,,,,,,,}; ]; ] = (a+); cout<<*(p+)<<endl; cout<<(*ptr+)[]<< ...

  7. static 的使用

    static用法小结 转自 http://blog.csdn.net/Kendiv/article/details/675941 在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有 ...

  8. 关于百度地图api测距显示NaN的解决方案

    因为随着百度地图的api的升级,测距的函数以及语句都发生的一定变化. 在调用api测距的时候通常我们使用的是语句map.getDistance(marker1,marker2); 但为什么这么简单的测 ...

  9. 12个Linux进程管理命令介绍

    导读 执行中的程序称作进程.当程序可以执行文件存放在存储中,并且运行的时候,每个进程会被动态得分配系统资源.内存.安全属性和与之相关的状态.可以有多个进程关联到同一个程序,并同时执行不会互相干扰.操作 ...

  10. [KOJ6997]旅行商问题二

    [COJ6997]旅行商问题二 试题描述 Bob是一名旅行商,Bob同时也是一个哲学家,他深知到了一个地方就要掏出钱包把所有景点都玩到.一个城市有N个景点,其中N-1条无向道路链接成一个连通图.Bob ...