Objective-C基础之数组

前言

简单的总结一下在学习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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值