OC语法-数组NSArray

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];

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容