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. Sturts2的action不执行任何方法的原因

    今天用<s:url action="xxx">调用action的时候出现了一个“异常”, action里的任何方法都没有执行,直接返回success,而且没有任何报错. ...

  2. Linux(Ubuntu)安装并破解 SecureFX

    根据Linux(Ubuntu)下面SecureCRT 完全破解(地址:http://www.boll.me/archives/680) 添加了Linux(Ubuntu)下面SecureFX 完全破解, ...

  3. Mac Pro 编译安装 Nginx 1.8.1

    #下载相关源码包,统一放到 /usr/local/src 目录下: http://nginx.org/download/nginx-1.8.1.tar.gz http://zlib.net/zlib- ...

  4. MFC中CString转化为char*

    char* convertCStringToChars(CString string) { int nLength=string.GetLength(); ]; memset(c,,nLength+) ...

  5. leofs存储总结

    1.leofs角色 Account(账户).Bucket(对象桶).Object(对象), gateway.manager0.manager1.storage Account 一个account可以创 ...

  6. JavaScript的面临的9个陷阱

    虽然不是什么很高深的技术问题,但注意一下,会使您的编程轻松些,即所谓make life easier. 笔者对某些陷阱会混杂一些评点. 1.   最后一个逗号 如这段代码,注意最后一个逗号,按语言学角 ...

  7. CentOS 6.5安装Apache

    1.Apache的特点 功能强大.配置简单.速度快.应用广泛.性能稳定可靠,并可做代理服务器或负载均衡来使用 2.Apache的应用场合 使用Apache运行静态HTML网页.图片(处理静态小文件能力 ...

  8. HDU 5592

    原题: http://acm.hdu.edu.cn/showproblem.php?pid=5592 线段树的变形,先说思路. 题目中给出了当前节点之前的逆序对数,则p[i]-p[i-1]就是对于p[ ...

  9. codemirror和ace editor的语法高亮

    两个javascript库用做在线代码编辑器都是非常优秀的选择 我这两天对这两个类库做了简单的研究,重点是语法高亮的自定义: ace editor的主要思路是生成状态机,从一个startstate开始 ...

  10. UNITY3D在线更新之道-CSlight 使用总结

    转自:http://blog.csdn.net/leonwei/article/details/39233775 最近做U3D的热更新,研究了各种方式无果后,最容易最先想到的方式就是利用c#的反射机制 ...