OC语法-数组NSArray

作者: 李小六_ | 来源:发表于2015-05-09 16:43 被阅读5126次
    1. 不可变数组NSArray
    • 创建不可变数组
      NSArray *array1 = [NSArray arrayWithObject@"iphone", @"sanung", @"miui",nil];
    • 获取元素个数
      [array count];
      NSlog(@"count = %ld",[array count]);
      count = 3;
    • 根据index值获取对象
      NSLog(@"%@", [array objectAtIndex:2]); 结果: miui

      NSLog(@"%@", array[1]); 结果: sanung;
    `NSLog(@"%lu", [array indexOfObject:@"iphone"]); `// 获得相应对象的下标        结果: 0
    
    • 遍历数组
      for (int i = 0; i < [array count] ; i++) {
      NSLog(@"%@", [array objectAtIndex:i]);
      }
      结果为 iphone sanung miui
    2.可变数组NSMutableArray
    • 创建不可变数组对象
      NSMutableArray *mArr = [NSMutableArray arrayWithObjects:@"Window", @"Unix", nil];// nil不可少, 代表结束的标志

    • 添加元素
      [mArr addObject:@"Linux"];// 添加在后边
      遍历数组看是否加入了
      for (int i = 0; i < [mArr count]; i++){
      NSLog(@"%@", [mArr objectAtIndex:i]);
      }

    • 插入元素
      [mArr insertObject:@"Mac" atIndex:0]; 从下标为0的, 插入字符串!
      for(int i= 0; i< [mArr count]; i++){
      NSLog(@"%@", [mArr objectAtIndex: i]);
      }
      结果 Mac Window Unix Linux // 变成了四个元素

    • 删除元素
      [mArr removeLaseObject];
      NSLog(@"%@", mArr); // 删除了最后一个;

    • 替换
      [mArr replaceObjectAtIndex:0 withObject:@"BSD"]; // 指定位置替换掉

    • 交换指定位置的元素
      [mArr exchangeObjectAtIndex:0 withObjectAtIndex:1];

    数值与对象转换

    因为数组和字典中存放的只能是对象类型. 所以一般的数值是不能直接存入的, 只能转化成对象元素才能存入!
    如:
    int c = 100;
    float f = 1.2;
    NSNumber *c1 = [NSNumber numberWithDouble:c];
    NSNumber *f1 = [NSNumber numbserWithDouble:f];
    这是把数值转化为了NSNumber格式存入到了字典, 当然你也可以数值转化为字符串格式存入!
    NSMubleArray *mArr2 = [NSMutableArray arrayWithObjects:c1, f1, nil];

    相关文章

      网友评论

        本文标题:OC语法-数组NSArray

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