黑马程序员技术交流社区

标题: NSArray基本使用 [打印本页]

作者: Storm_    时间: 2015-11-12 10:50
标题: NSArray基本使用
、NSArray 的基本使用

使用方法如下:
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        //创建一个空数组
        NSArray *arr1  = [NSArray new];
        
        //创建数组只有一个元素
        NSArray *arr2 = [NSArray arrayWithObject:@"0"];
        
        //创建数组有多个元素
        //nil表示数组赋值结束
        NSArray *arr3 = [NSArray arrayWithObjects:@"1",@"one", nil];
        
        //调用对象方法创建
        NSArray *arr4 = [[NSArray alloc] initWithObjects:@"111", nil];
        
        //用一个数组创建另外一个数组
        NSArray *arr5 = [NSArray arrayWithArray:arr3];
        
        NSLog(@"%@",arr1);
        NSLog(@"%@",arr2);
        NSLog(@"%@",arr3);
        NSLog(@"%@",arr4);
        NSLog(@"%@",arr5);
    }
    return 0;
}
结果:
2015-11-10 10:18:42.386 NSArray 的介绍和基本使用[4154:771315] (
)
2015-11-10 10:18:42.387 NSArray 的介绍和基本使用[4154:771315] (
    0
)
2015-11-10 10:18:42.387 NSArray 的介绍和基本使用[4154:771315] (
    1,
    one
)
2015-11-10 10:18:42.388 NSArray 的介绍和基本使用[4154:771315] (
    111
)
2015-11-10 10:18:42.388 NSArray 的介绍和基本使用[4154:771315] (
    1,
    one
)
Program ended with exit code: 0

注意:当数组遇到nil结束。所以当要存储nil时,要换成[NSNull null]。

常见方法:

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        NSArray *arr3 = [NSArray arrayWithObjects:@"1",@"one", nil];
        
        //简化定义方式
        NSArray *arr =@[@"1",@"2",@"3"];
        //建华访问
        NSLog(@"%@",arr[2]);
        
        //获取数组长度
        NSLog(@"%ld",arr3.count);
        
        //根据下标获取相应对象
        NSLog(@"%@",[arr3 objectAtIndex:1 ]);
        
        //返回元素下标
        NSInteger loc = [arr3 indexOfObject:@"1"];
        NSLog(@"%ld",loc);
    }
    return 0;
}

结果:
2015-11-10 10:42:31.137 NSArray 的常见用法[4290:781726] 3
2015-11-10 10:42:31.138 NSArray 的常见用法[4290:781726] 2
2015-11-10 10:42:31.138 NSArray 的常见用法[4290:781726] one
2015-11-10 10:42:31.139 NSArray 的常见用法[4290:781726] 0
Program ended with exit code: 0

遍历:

        //快速枚举遍历
        for (NSString *ss in arr) {
            NSLog(@"%@",ss);
        }
      
         //block遍历
        [arr enumerateObjectsUsingBlock:^(id   obj, NSUInteger idx, BOOL *  stop) {
            NSLog(@"%@",obj);
        }];




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2