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