NSArray的基本使用 - OC

作者: 以太死多 | 来源:发表于2015-09-04 23:19 被阅读21693次

    NSArray特点:

    一旦创建成功,内容不可改变
    只能存放OC对象

        //1)创建一个空数组
        NSArray *arr1 = [NSArray array];
    
        //2)创建数组,只有一个元素
        NSArray *arr2 = [NSArray arrayWithObject:@"1"];
    
        //3)创建数组,有多个元素
        // nil 表示数组赋值结束
        // 常见写法
        NSArray *arr3 = [NSArray arrayWithObjects:@"one",@"two",@1, nil];
                        NSLog(@"arr3 = %@",arr3);
        //4)调用对象方法,创建数组
        //nil Nil NULL  NSNULL
        NSArray *arr4 = [[NSArray alloc] initWithObjects:@"three",[NSNull null],@"four", nil];
                        NSLog(@"arr4 = %@",arr4);
        //5)用一个数组可以创建另外一个数组
        NSArray *arr5 = [NSArray arrayWithArray:arr3];
    

    NSArray常用方法:

    NSArray *arr3 = [NSArray arrayWithObjects:@"one",@"two",@1,@"three", nil];
    NSLog(@"arr3 = %@",arr3);
    
    //1)获取数组的长度  count获取数组的元素的个数
    NSLog(@"%ld",arr3.count);
    
    //2)根据下标,获取下标对应的对象
    NSLog(@"%@",[arr3 objectAtIndex:3]);
    
    //3)返回元素的下标
    NSUInteger loc = [arr3 indexOfObject:@"three"];
    NSLog(@"%ld",loc);
    
    //4)数组中是否包含了某个元素
    if([arr3 containsObject:@"four"]){
        
        NSLog(@"包含此元素");
        
    }else{
        
        NSLog(@"不包含");
    }
                        NSLog(@"arr5 = %@",arr5);
    

    NSArray简化形式:

    //用简化的方式,来定义和访问数组元素
        //1)用简化的方式,定义数组
        //格式: @[ 数组元素 ]
        NSArray *arr = @[@"1",@"one",@"3",@4,@"ONE"];
        NSLog(@"arr = %@",arr);
        
        NSString *str =[arr objectAtIndex:2];
        NSLog(@"%@",str);
        
        //2)用简化的方式访问数组元素
        str = arr[1];   //C语言形式的数组元素访问
        NSLog(@"%@",str);
    

    NSArray的遍历:

    //定义一个数组
        NSArray *arr = @[@"one",@"two",@"three",@"four"];
        
        //对数组进行遍历
        
        //1) 普通的方式,通过下标访问
        for (int i=0; i<arr.count; i++) {
            NSLog(@"-> %@",arr[i]);
        }
        
        //2) 快速枚举法 for循环的增强形式
        for (NSString * str in arr) {
             NSLog(@"---> %@",str);
        }
        
    
        //3) 使用block的方式,进行访问
        //                               数组元素            元素下标     是否停止
        //stop:YES  会停止, stop:NO 不会停止
        [arr enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
            
            if(idx == 2){
            
                *stop = YES;  //停止  // break;
                
            }else{
            
               NSLog(@"idx = %ld,obj = %@",idx,obj);
            }
            
            
        }];
    

    NSArray读写文件:

    • 写入

        NSArray *array = [NSArray     arrayWithObjects:@"one",@"zbz",@"cgx",@"sb",@"cjk",@"senni", nil];
       //把NSArray 中的内容,写入到文件中
        //arr.plist 一种特殊的文件格式
        BOOL isWrite =  [array writeToFile:@"/Users/zhaoxiaohu/Desktop/arr.xml" atomically:YES];
        
        if(isWrite){
        //        
       //            NSLog(@"写入成功");
       //        }
      
    • 读取

        //从文件中,读取一个数组信息
        NSArray *readArr = [NSArray arrayWithContentsOfFile:@"/Users/zhaoxiaohu/Desktop/arr.xml"];
        
        NSLog(@"readArr = %@",readArr);
      

    NSArray与字符串:

    • 把数组拼接成为字符串
      //定义一个数组
      NSArray *arr = @[@1,@2,@3,@4];

        //1)需求: 把数组中的元素用 "-" 连接起来
        //  [数组 componentsJoinedByString @"分隔符"];
        // 1-2-3-4
        NSString *str = [arr componentsJoinedByString:@"-"];
        NSLog(@"str = %@",str);
      
    • 把字符串拆分为数组
      //2) 给一个字符串,分割成一个数组
      // 400-800-12580 //取得 400 12580 800
      NSString *str2 = @"400-800-12580";
      NSArray *arr2 = [str2 componentsSeparatedByString:@"-"];
      NSLog(@"%@",[arr2 firstObject]);
      NSLog(@"%@",[arr2 lastObject]);
      NSLog(@"%@",arr2[1]);

    相关文章

      网友评论

      本文标题:NSArray的基本使用 - OC

      本文链接:https://www.haomeiwen.com/subject/hkwlcttx.html