码迷,mamicode.com
首页 > 编程语言 > 详细

Objective-C( Foundation框架 一 数组(NSArray))

时间:2015-09-01 18:29:53      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:

OC数组

NSArray是静态的数组,就是它所指向的内容是不可改变的,它指向一段内存区域,一旦初始化,不能通过它对该内存区域的数据进行修改操作,但是它可以读数据。

NSMutableArray是动态的是NSArray的子类,可以对所指向的内存区域内容进行更改,并可以增加数组内容

NSArray和NSMutableArray的第一个数据的下标为0。

 

1、NSArray 不可变数组

[array1 count]: 数组的长度。

    // 创建OC数组对象
    NSArray *array = [NSArray arrayWithObject:@"jack"];    

    // nil是数组元素结束的标志
    NSArray *array1 = [NSArray arrayWithObjects:@"jack",@"haha",nil];
    NSLog(@"%ld",array1.count); // 输出数组的长度

 

[array1 objectAtIndex:0]: 访问数组中元素

array1[0];

    NSArray *array1 = [NSArray arrayWithObjects:@"jack",@"haha",nil];
    // 访问输出数组元素
    NSLog(@"%@",[array1 objectAtIndex:1]); 
    NSLog(@"%@",array1[0]);

 

快速创建OC数组对象:

[NSArray arrayWithObjects;@"jack",@"haha" ...,nil] :向数组对象初始化赋值。这里可以写任意对象的指针,结尾必须使用nil。

     // 快速创建NSArray数组对象   
     NSArray *array = @[@"jack",@"rose‘,@"haha"];
   NSLog(@"%@",array1);

 

快速遍历NSArray数组

    NSArray *array = @[@"jack",@"haha"];
    
    // id obj代表着数组中的每一个元素
    for (id obj in array){
        
        NSLog(@"%@",obj);
    }
    

 

找出元素在数组中的位置

    NSArray *array = @[@"jack",@"haha"];
    
    // id obj代表着数组中的每一个元素
    for (id obj in array) {
        // 找出obj元素在数组中的位置
        NSUInteger i = [array indexOfObject:obj];
        
        NSLog(@"%ld - %@", i, obj);
    }

 

利用block

    
    NSArray *array = @[@"jack",@"haha"];
     
    // 每遍历到一个元素,就会调用一次block
    // 并且当前元素和索引位置当做参考传给block
    [array enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
        NSLog(@"---------");
    }];
/*
  Bool *stop
  if(idx == 0){
  停止遍历
  *stop = YES;

*/

 

Objective-C( Foundation框架 一 数组(NSArray))

标签:

原文地址:http://www.cnblogs.com/1023843587qq/p/4774185.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!