您的位置:首页 > 移动开发 > Objective-C

Objective-C基础之数组

2016-09-01 16:41 399 查看

前言

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


正文

NSArray

NSArray有两种限制

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

它不能存储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~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  objective-c