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. Windows Phone 8下 友盟社会化组件SDK的使用。

    由于项目的需要,要将友盟的社会化组件SDK由0.9更新至2.0. 版本变化比较大. 1.很多类以及命名空间已经取消了. 如UmengSocialSDK.Net.Request命名空间, UmengSo ...

  2. 【转】(笔记)CANopen协议【CANFestival】移植方法

    一.背景 CAN组网就必须得要应用层协议,原因就在于 * 便于网络管理与控制 * 确认数据的收发 * 发送大于8个字节的数据块(CAN每帧数据传输大小为8字节) * 为不同节点分配不同的报文标识符 * ...

  3. Mac Pro 安装 Sublime Text 2.0.2,个性化设置,主题 和 插件 收藏

    1.到官网下载安装包 http://www.sublimetext.com/2 2.附注册码一枚 ----- BEGIN LICENSE ----- Andrew Weber Single User ...

  4. Android 4.4以上的存储读写权限

    最近遇到一个奇怪现象,直接往Android的SD卡根目录写入文件,报异常:open failed EACCES:permission denied. 已经在manifest.xml中加入android ...

  5. springmvc之hibernate整合

    1.项目结构 2.所需jar包 3.web.xml <?xml version="1.0" encoding="UTF-8"?> <web-a ...

  6. VB .NET周期实现

    这里仅提供一个方案,当然会有比本方案更好的,欢迎提供. 简介 在vb.net实现周期调度的问题时(就是间隔固定的时间做什么事情),我们最先想到的一定是(反正我是)利用timer(定时器)来做这个计时的 ...

  7. Lucene4.1 视频学习

    1.将路径建立在内存中 Directory d = new RAMDirectiry(); 2.Filed Index(索引选项):Index.ANALYZED:进行分词和索引,适应于标题,内容等In ...

  8. Yii2.0中文开发向导——控制器(Controller)

    控制器(Controller) 本节包含以下方面的内容 基本概念 路由 默认路由 动作的参数 在动作中定义参数 从请求(request)中获取参数 独立动作 动作过滤器(Action Filters) ...

  9. note:获取字符输入的一些函数

    总是弄混,所以总结一下: getline()     // 接受一个字符串,可以接收空格并输出,需包含“#include<string>” #include<iostream> ...

  10. 转:js清空数组

    方式1,splice 1 2 3 var ary = [1,2,3,4]; ary.splice(0,ary.length); console.log(ary); // 输出 Array[0],空数组 ...