OC中数组分不可变数组(NSArray)和可变数组(NSMutableArray)。

不可变数组:

 //------------------------------不可变数组----------------------------------

 //    创建一个不可变数组

     NSNumber *number = [NSNumber numberWithInt:];

     NSArray * arr= [NSArray arrayWithObjects:@"china",@"one", @"usa", number, nil];

     NSLog(@"%@",arr);

 //    array.count为数组元素个数

     NSLog(@"%@ \n数组arr元素个数为%lu",arr,(unsigned long)arr.count);

 //  判断数组中是否有某元素

     BOOL yesorno = [arr containsObject:@"usa"];

     NSLog(@"%d",yesorno);

 //  判断数组中是否有某元素方法2

     if ([arr containsObject:@"usa"]) {

         NSLog(@"里面有usa");

     }

 //    寻找某个元素在数组中的位置

     NSInteger indexnow = [arr indexOfObject:@"usa"];

     NSLog(@"%ld",(long)indexnow);

 //    找出最后一个元素

     id lastOut = [arr lastObject];

     NSLog(@"%@",lastOut);

可变数组:

 NSMutableArray *mArray = [NSMutableArray arrayWithObjects:@"one",@"two",@"three",@"four",@"five",@"six",@"seven", nil];
[mArray addObject:@"eight"];//追加一个元素
[mArray insertObject:@"zero" atIndex:];//给指定位置插入一个元素
[mArray removeObjectsInArray:arr]; //数组arr有的元素在mArray中删除
[mArray removeObject:@"three" inRange:NSMakeRange(, mArray.count)];//按照范围删除
[mArray removeLastObject]; //删除最后一个元素
[mArray removeObject:@"six"]; //删除特定元素
[mArray removeObjectAtIndex:]; //按照下标删除
[mArray replaceObjectAtIndex: withObject:@"third"];//按照下标替换元素
[mArray exchangeObjectAtIndex: withObjectAtIndex:];//按照下标交换元素
NSLog(@"%@",mArray);

数组的遍历:

 //------------------------------遍历数组----------------------------------

     NSMutableArray *mArray2 = [NSMutableArray arrayWithObjects:@"one",@"two",@"three",@"four",@"five",@"six",@"seven", nil];

 //    第一种遍历可变数组的方法--快速枚举法
for (id x in mArray2) {
NSLog(@"%@",x);
} // 第二种遍历可变数组的方法--一般循环法
for (int i=; i<mArray2.count; i++) {
NSLog(@"%@",[mArray2 objectAtIndex:i]);
} // 第三种遍历可变数组的方法--使用枚举器遍历
NSEnumerator *enu =[mArray2 objectEnumerator];
id x;
while (x=[enu nextObject]) {
NSLog(@"%@" ,x);
} // 创建数组新写法@[@“”,@“”]
NSArray *array1d = @[@"sdf", @"df" ];
NSLog(@"%@",array1d);

IOS开发-ObjC-NSArray的更多相关文章

  1. iOS开发-NSArray

    忙了一上午,解决了几个bug,现在终于抽出来一点时间喝点水休息下, 想着系列这么浩大的一个工程,才刚刚开始写,不能断了,就跟写小说一样,既然是系列,那么就需要不停更... 好吧. 简单的说说iOS开发 ...

  2. iOS开发系列--打造自己的“美图秀秀”

    --绘图与滤镜全面解析 概述 在iOS中可以很容易的开发出绚丽的界面效果,一方面得益于成功系统的设计,另一方面得益于它强大的开发框架.今天我们将围绕iOS中两大图形.图像绘图框架进行介绍:Quartz ...

  3. iOS开发系列--Swift进阶

    概述 上一篇文章<iOS开发系列--Swift语言>中对Swift的语法特点以及它和C.ObjC等其他语言的用法区别进行了介绍.当然,这只是Swift的入门基础,但是仅仅了解这些对于使用S ...

  4. iOS开发系列--通讯录、蓝牙、内购、GameCenter、iCloud、Passbook系统服务开发汇总

    --系统应用与系统服务 iOS开发过程中有时候难免会使用iOS内置的一些应用软件和服务,例如QQ通讯录.微信电话本会使用iOS的通讯录,一些第三方软件会在应用内发送短信等.今天将和大家一起学习如何使用 ...

  5. iOS开发系列--数据存取

    概览 在iOS开发中数据存储的方式可以归纳为两类:一类是存储为文件,另一类是存储到数据库.例如前面IOS开发系列-Objective-C之Foundation框架的文章中提到归档.plist文件存储, ...

  6. iOS开发系列--网络开发

    概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博.微信等,这些应用本身可能采用iOS开发,但是所有的数据支撑都是基于后台网络服务器的.如今,网络编程越来越普遍,孤立的应用通常是没有生命力 ...

  7. iOS开发系列--无限循环的图片浏览器

    --UIKit之UIScrollView 概述 UIKit框架中有大量的控件供开发者使用,在iOS开发中不仅可以直接使用这些控件还可以在这些控件的基础上进行扩展打造自己的控件.在这个系列中如果每个控件 ...

  8. IOS开发基础知识碎片-导航

    1:IOS开发基础知识--碎片1 a:NSString与NSInteger的互换 b:Objective-c中集合里面不能存放基础类型,比如int string float等,只能把它们转化成对象才可 ...

  9. iOS开发系列—Objective-C之Foundation框架

    概述 我们前面的章节中就一直新建Cocoa Class,那么Cocoa到底是什么,它和我们前面以及后面要讲的内容到底有什么关系呢?Objective-C开发中经常用到NSObject,那么这个对象到底 ...

  10. IOS开发之自动布局显示网络请求内容

    在上一篇博客中详细的介绍了IOS开发中的相对布局和绝对布局,随着手机屏幕尺寸的改变,在App开发中为了适应不同尺寸的手机屏幕,用自动布局来完成我们想要实现的功能和效果显得尤为重要.本人更喜欢使用相对布 ...

随机推荐

  1. CSS3边框

    border-radius box-shadow border-image border-radius可以创建圆形,如果一个元素是正方形,则设置border-radius为边长,则为圆形 box-sh ...

  2. PAT1008

    1008. Elevator (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B The highest building in our city has on ...

  3. windows下spark开发环境配置

    http://www.cnblogs.com/davidwang456/p/5032766.html windows下spark开发环境配置 --本篇随笔由同事葛同学提供. windows下spark ...

  4. jquery指定div右键事件

    <div class="nav_list_item">需要淡季右键的div</div> 我们要 给这个div注册鼠标右键的时候需要先禁用该div的网页右键菜 ...

  5. 设计模式---Manager(管理器)

    设计模式之美:Manager(管理器) 索引 意图 结构 参与者 适用性 效果 实现 实现方式(一):Manager 模式的示例实现. 意图 将对一个类的所有对象的管理封装到一个单独的管理器类中. 这 ...

  6. 移动端h5页面的设计稿尺寸

    当我们在做手机端H5网页设计稿时(当然包含微信端的H5网页设计),如果没有做过类似的移动端的设计,UI设计师和前端工程师肯定会纠结的.如果是app设计师,就不会那么纠结啦. 延伸阅读: 2015年度最 ...

  7. GuideActivity.java引导界面:

    这是谷歌官方给我们提供的一个兼容低版本安卓设备的软件包,里面包囊了只有在安卓3.0以上可以使用的api. 而viewpager就是其中之一利用它,我们可以做很多事情,从最简单的导航,到页面菜单等等.那 ...

  8. Android客户端通过socket与服务器通信

    android端--Client package com.sec.chatroomandroid; import java.io.BufferedReader; import java.io.Buff ...

  9. Python3基础 定义无参数无返回值函数 调用会输出hello world的函数

    镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.-------------------------------------- ...

  10. Android——apk反编译

    一.工具准备: 1.dex2jar:http://code.google.com/p/dex2jar/downloads/list 2.JD-GUI:windows:http://laichao.go ...