Objective-C基础之数组

来源:互联网 发布:ios 耗电量优化 编辑:程序博客网 时间:2024/06/05 06:11

前言

简单的总结一下在学习Objective-C过程中对数组的一些理解

正文

NSArray

NSArray有两种限制

  1. 它只能存储Objective-C的对象,而不能存储原始的C语言数据类型
  2. 它不能存储nil

数组创建

数组字面量

NSArray* array = @[@"first",@"second"];

在[]外面的“@”表示这个数组类型是属于Objective-C类型的。里面的”@”表示字符串属于Objective-C类型,因为NSArray不能存储原始的C语言数据类型;

类方法创建

NSArray* array = [NSArray arrayWithObjects: @"first",@"second",nil];

上面以逗号隔开的对象列表初始化数组,在列表结尾nil表示的是列表结束的意思(这就是不能再数组中存储nil的一个原因)

数组查询

索引查询

-(void)searchArray:(NSArray*) arry {    //索引遍历    NSLog(@"下面是索引比那里");    NSMutableString *content = [NSMutableString stringWithCapacity:10];    for(int index = 0; index < [arry count]; index++) {        [content appendFormat:@"这是第%d元素:%@ ",index,arry[index]];    }    NSLog(@"%@",content);}

枚举查询

-(void)searchArray:(NSArray*) arry {    //枚举遍历    NSLog(@"下面是枚举遍历");    NSEnumerator *interator = [arry objectEnumerator];    id temp;    while((temp = [interator nextObject])) {        NSLog(@"%@",temp);    }}

快速枚举

在Objective-C 2.0 提供了快速枚举

    for(NSString* string in array) {        //array表示数组        //string表示数组里面的内容    }

代码块查询

apple添加了一个能在NSArray中通过代码块枚举对象的方法

[array enumerateObjectsUsingBlock:(void(^)(id obj,NSUInteger idx,BOOL* stop)     //obj表示的就是array遍历出来的类型}]

NSMutableArray

它是可变的,而NSArray创建好以后就不能改变,这个在使用过程中多多体会

结束语

大体功能是了解了,文档里面提供的api还不是很熟悉,用到时多多看文档,come on~
0 0