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