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. POJ 2029 Get Many Persimmon Trees

    Get Many Persimmon Trees Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 3243 Accepted: 2 ...

  2. ElasticSearch 2 (6) - 插件安装Head、Kopf与Bigdesk

    ElasticSearch 2 (6) - 插件安装Head.Kopf与Bigdesk 摘要 安装Elasticsearch插件Head.Kopf与Bigdesk 版本 elasticsearch版本 ...

  3. javascript高级程序设计---Element对象

    Element对象对应网页的HTML标签元素.每一个HTML标签元素,在DOM树上都会转化成一个Element节点对象(以下简称元素节点).元素节点的nodeType属性都是1,但是不同HTML标签生 ...

  4. Javascript高级程序设计——执行环境与作用域

    Javascript中执行环境是定义了变量或函数有权访问的其他数据,决定了各自的行为,每个执行的环境都有一个与之关联的变量对象,环境中定义的所以变量和函数都保存在这个对象中. 全局执行环境是最外围的一 ...

  5. HDU 1086You can Solve a Geometry Problem too(判断两条选段是否有交点)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1086 判断两条线段是否有交点,我用的是跨立实验法: 两条线段分别是A1到B1,A2到B2,很显然,如果 ...

  6. Unity路径规划

    Unity路径规划  转自:http://www.cnblogs.com/zsb517/p/4090629.html 背景 酷跑游戏中涉及到弯道.不规则道路. 找来一些酷跑游戏的案例来看,很多都是只有 ...

  7. angularjs表达式中的HTML内容,如何不转义,直接表现为html元素

    在模板中直接: 在ionic中直接使用: <p class="contentwen" ng-bind-html="detial.content">& ...

  8. JS判断设备的类型

    利用JS判断浏览器的用户代理,从而获得设备类型.利用这个方法可以获得用户的设备是移动设备还是PC设备.     JS代码如下:       function browerType() {       ...

  9. Linux之匹配符

    shell常见通配符: 字符 含义 实例 * 匹配 0 或多个字符 a*b  a与b之间可以有任意长度的任意字符, 也可以一个也没有, 如aabcb, axyzb, a012b, ab. ? 匹配任意 ...

  10. net-snmp-5.7.3配置编译安装

    net-snmp-5.7.3配置编译安装 [TOC] 先看一下系统环境 o@o-pc:~/work/_snmp/net-snmp-5.7.3$ uname -a Linux o-pc 3.16.0-3 ...