部分学的部分网上找的,不喜勿喷
数组总结;
一、oc中的数组:NSArray
定义:
NSArray *arrayName=[NSArray arrayWithObjects:obj1,obj2,obj3,obj4,nil];//数组是以nil空作为结束的标志
使用:
for(int i=0;i<4;i++)
{
Object *obj=[arrayName objectAtIndex:i];
[obj functionName];
}
例如:
//数组的使用
//定义四个Student类型的变量 并初始化
Student *stu1=[StudentstudentWithName:@"唐僧"andSex:YESandAge:23andAddress:@"大唐"];
Student *stu2=[StudentstudentWithName:@"悟空"andSex:YESandAge:23andAddress:@"花果山"];
Student *stu3=[StudentstudentWithName:@"八戒"andSex:YESandAge:23andAddress:@"高老庄"];
Student *stu4=[StudentstudentWithName:@"沙僧"andSex:YESandAge:23andAddress:@"流沙河"];
//数组的定义和初始化(数组是以nil空作为结束的标志的)
NSArray *students=[NSArrayarrayWithObjects:stu1,stu2,stu3,stu4,nil];//定义一个数组名为 students元素类型全部为Student 元素个数为4的数组
//利用for循环使用数组中的元素
for (int i=0; i<4; i++) {
//根据数组的索引取出相应的对象
Student *stu=[students objectAtIndex:i];
//调用取出对象的sayHi方法
[stusayHi];
}
//数组中的元素可以是多种类型
//数组元素不能存放基本的数据类型(如int float..)
//如果存放基本数据类型,要把它先转换成NSNumber的对象 例如:
NSArray *arrays=[NSArrayarrayWithObjects:stu1,@"张三",[NSDate date], [NSNumbernumberWithInt:20],nil];//定义了一个名为array的数组,该数组中包含4个元素,分别为Student、String、Date、Number类型
//包含不同类型的数组的使用
for (int i=0; i<4; i++) {
//根据数组的索引取出相应的对象
id arry=[arraysobjectAtIndex:i];//id为泛型 是指任意类型的对象 定义id泛型对象时不在变量前加*
//直到赋值的时候才确定是什么类型
NSLog(@"%@",array);
}
NSLog(@"for-in的使用");
//for-in 的使用和java中的一样,循环的次数依赖与数组元素的个数
for (id temp in arrays) {
NSLog(@"%@",temp);
}
//NSArray的子类NSMutableArray为可变的数组 可以进行增删改查
// NSMutableArray *mArray=[[NSMutableArray alloc] init];
NSMutableArray *mArray=[NSMutableArrayarrayWithObjects:stu1,@"aaa",@"abc",nil];
// //NSMutableArray是可变数组,是NSArray的子类,里面的元素可以增删改查
NSLog(@"数组的长度%ld",[mArray count]);//输出数组的长度(元素的个数)调用count方法,采用长整型站位符
//向数组中添加元素
[mArray addObject:@"cccc"];
[mArray addObject:[NSNumber numberWithBool:YES]];
NSLog(@"添加后的数组元素");
NSLog(@"%@",mArray);
//删除数组中的元素
[mArray removeObjectAtIndex:0];//删除下标为0的元素即第一个元素
NSLog(@"删除第一个元素后的数组元素");
NSLog(@"%@",mArray);
//注:按住windows键和鼠标左键可以查看类的.h文件,以便于我们更加清楚的了解该类中的方法,更好的使用该类
//NSMutableArray中的扩展方法
// - (void)addObject:(id)anObject;
// - (void)insertObject:(id)anObject atIndex:(NSUInteger)index;
// - (void)removeLastObject;
// - (void)removeObjectAtIndex:(NSUInteger)index;
// - (void)replaceObjectAtIndex:(NSUInteger)index withObject:(id)anObject;