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. UVALive 2517 Moving Object Recognition(模拟)

    题目看上去很吓人,很高端,但其实很简单,不要被吓到,照搬题目的公式就可以了. 方法:用BFS求出最大块和重心,找出题目公式需要的未知量,然后套到题目公式里就可以求出答案了. 代码: #include& ...

  2. Ubuntu下载工具 uget+aria2

    一.安装. uget和aria2都可以在“软件中心”中安装,但是版本太老啦,无法发挥作用,所以最好还是在终端中添加ppa进行安装: 1.uget的安装:  sudo add-apt-repositor ...

  3. “找回” Envi 快捷方式

      Envi+IDL文件夹挪到别的电脑,不用安装,直接可以使用.但是桌面和开始菜单没有了Envi,IDL,envi+idl的快捷方式,很不方便.   记录一下快捷方式命令行,备用: envi快捷方式 ...

  4. 在ubuntu server 上记录和查看cron日志

    1.安装rsyslog apt-get install rsyslog 2.修改它的配置文件 vi /etc/rsyslog.d/50-default.conf 把cron那一行注释去掉 3.然后重启 ...

  5. Json解析要点

    解析Json时,昨天遇到了新的问题,之前都是解析的数组,不是数组的用类来做. 这是Json串; {"status":"00001","ver" ...

  6. elasticsearch 管理工具

    ------------------sense------------------- google chrome 浏览器插件,数据交互使用   -------------------------hea ...

  7. dubbo Forbid blacklist

    http://www.jameswxx.com/dubbo/%E8%A7%A3%E5%86%B3dubbo%E9%97%AE%E9%A2%98%EF%BC%9Aforbid-consumer/

  8. IIS判断W3WP进程对应哪个网站

    IIS 6 (Win2003 )中查看某个应用程序池对应那个 W3WP.exe 进程,可以使用如下命令,输出结果类似如下: C:\WINDOWS\system32>cscript iisapp. ...

  9. 硬盘安装Win7、CentOS7双系统

    待补充 0.软件 Acronis Disk Director:用来对硬盘分区,将磁盘的一部分格式化成Linux可以识别的ext3格式 Ext2Fsd:因为Windows不能识别ext3格式的文件系统, ...

  10. ANSI X9.8标准 PIN xor PAN获取PIN BlOCK

    ANSI X9.8标准 PIN xor PAN获取PIN BlOCK 之前看到几篇介绍,把ANSI说成16个字节,真心扯淡,各种误人子弟,真正的ANSI算法其实是8个字节,具体格式如下: (1) AN ...