黑马程序员技术交流社区
标题:
oc数组简单介绍
[打印本页]
作者:
S970028126
时间:
2015-6-27 23:38
标题:
oc数组简单介绍
本帖最后由 S970028126 于 2015-6-27 23:43 编辑
数组:
NSArray
可变数组:
NSMutableArray
NSArray *array = [[NSArray alloc] initWithObjects: @"One", @"Two",@"Three", nil];
//数组的元素可以是任意的对象
//数组中装有元素的地址
//可以装在两个数组中,因为放的都是地址
NSLog(@"%@",array);
//打印数组就是打印数组的每个元素
//%@ , 对象 打印的是description的返回值
遍历:
//枚举器法
NSEnumerator * enumerator = [array objectEnumberator];
id obj;
while (obj = [enumerator nextObject])
{
NSLog(@"%@", obj);
}
快速枚举法:
for (id obj in array)
{
NSLog(@"%@", obj);
}
使用i值遍历
NSUInteger length = [array count]; //数组个数
obj = [array objectAtIndex:2]; //打印出相应位置的对象
NSInteger i;
for (i=0; i<[array count]; i++)
{
NSLog(@"%@", [array objectAtIndex:i]);
}
可变数组:
改变数组元素的个数和顺序
NSMutableArray *array = [[NSMutableArray alloc] init]; //创建一个空数组
[array addObject: @"one"]; //增加元素
[array addObject: @"two"]; //增加元素
[array removeObject: @"One"];//删除元素
[array remveObjectAtIndex: 1]; //删除元素
//交换元素顺序
[array exchangeObjectAt: 0 withObjectAtIndex: 2]; //交换位置0和位置2的对象
NSMutableArray *array = [[NSMutableArray alloc] initWithObject: @"ont", @"Two", @"Three", nil];
NSEnumerator *enumerator = [array objectEnumerator];//正序遍历
NSEnumerator *enumerator = [array reverseObjectEnumerator]; //逆序遍历
//逆序遍历的时候允许修改数组的顺序和个数
注意:使用枚举器法进行遍历,正序遍历的时候,对数组进行改变会出错,逆序遍历的时候,不会出错
使用i值遍历,可以进行修改
快速枚举法不能进行修改
//数组和字符串的联合使用
NSString *str = @"I am a so good man";
NSArray *array = [str componentsSeparatedByString: @" "]; //用空格分割字符串,返回地址
NSString * newStr = [NSMutableArray componentsJoinByString: @" "]; //将数组中内容拼成一个新字符串
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2