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. dwz 在dialog里打开dialog

    需要在打开dialog里再弹出一个dialog的话,需要在打开第一个dialog的地方指定rel,这样就可以弹出第二个dialog而不是替换掉第一个dialog <a class="a ...

  2. 【C语言入门教程】4.10 综合实例 - 媒体播放器

    4.10.1 建立播放列表 数据字典 名称 数据类型 说明 MAX_LENGTH 符号常量 用于定义数组长度,表示列表最大长度 MAX_FILE_LENGTH 符号常量 用于定义数组长度,表示文件名最 ...

  3. CentOS6.3编译安装Memcached集群分布式缓存代理Magent-0.6出错汇总

    参考文章:Memcached集群/分布式/高可用 及 Magent缓存代理搭建过程 详解,搭建Magent,在编译的过程中会出现很多错误: #编译安装安装magent到 /usr/local/mage ...

  4. [原创]C 语言select函数

    参考链接:http://www.cnblogs.com/GameDeveloper/p/3406565.html 注意点: select() 只是执行一次的超时检测.重新进行select要重新设置“超 ...

  5. Nginx初学者指南

    Starting, Stopping, and Reloading Configuration To start nginx, run the executable file. Once nginx ...

  6. MongoDB的安全(五)

    MongoDB用户管理操作: MongoDB开启权限认证的方式有两种一种是auth形式,一种是keyfile形式 MongoDB创建用户: 1. 创建用户语法:在MongoDB2.6版本之后使用cre ...

  7. The report for triangle problem

    本次实验主要使用eclipse 编写三角形判定的代码,并用junit进行测试. 1.安装junit和hamcrest 下载junit-4.12.jar和hamcrest-all-1.3.jar 并且拖 ...

  8. u-boot 流程分析

    u-boot 介绍: 对于计算机来说 , 从一开始上机通电是无法直接启动操作系统的 , 这中间需要一个引导过程 , 嵌入式Linux系统同样离不开引导程序 ,  这个启动程序就叫启动加载程序(Boot ...

  9. tomcat管理端的页面安全措施

    由于公司的项目并未启用nginx负载均衡,所以自然也没用到tomcat与web应用一对一的安全操作,经常会遇到 重启单个应用又不想重启tomcat的情况.同时,又出于安全考虑,将tomcat的默认管理 ...

  10. keepalived和heartbeat区别

    <1>Keepalived使用的vrrp协议方式,虚拟路由冗余协议 (Virtual Router Redundancy Protocol,简称VRRP):Heartbeat是基于主机或网 ...