OC中的数组:NSArray

来源:互联网 发布:mac mini 定制 编辑:程序博客网 时间:2024/05/17 01:58

一、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=[Student  studentWithName:@"张三"andSex:YESandAge:23andAddress:@"北京"];

    Student *stu2=[Student  studentWithName:@"李四"andSex:YESandAge:23andAddress:@"上海"];

    Student *stu3=[Student  studentWithName:@"王五"andSex:YESandAge:23andAddress:@"天津"];

    Student *stu4=[StudentstudentWithName:@"赵六"andSex:YESandAge:23andAddress:@"常德"];

   //数组的定义和初始化(数组是以nil空作为结束的标志的)

    NSArray *students=[NSArray  arrayWithObjects:stu1,stu2,stu3,stu4,nil];//定义一个数组名为 students元素类型全部为Student 元素个数为4的数组

          //利用for循环使用数组中的元素

   for (int i=0; i<4; i++) {

       //根据数组的索引取出相应的对象

       Student *stu=[students objectAtIndex:i];

        //调用取出对象的sayHi方法

        [stusay Hi];

    }

   //数组中的元素可以是多种类型

   //数组元素不能存放基本的数据类型(如int float..)

   //如果存放基本数据类型,要把它先转换成NSNumber的对象 例如:

    NSArray *arrays=[NSArray  arrayWithObjects:stu1,@"张三",[NSDate date], [NSNumber numberWithInt:20],nil];//定义了一个名为array的数组,该数组中包含4个元素,分别为Student、String、Date、Number类型

   //注意:在打印引用型对象是,默认的是打印类的类型和内存地址,在.m文件中改写description方法(相当于java中的toString方法),可以改变其输出形式 在.m文件中改写后的description方法

          /**   在.m文件中重写后的description方法    [不用在.h文件中定义接口

]

     //重写description方法 相当于java中的toString方法

     -(NSString *)description//重写description方法后,让其输出姓名(也可以是其他自定义的字符串等)

     {

       returnname;

     }

         */

 

   //包含不同类型的数组的使用

   for (int i=0; i<4; i++) {

       //根据数组的索引取出相应的对象

        id  arry=[array sobjectAtIndex:i];//id为泛型 是指任意类型的对象 定义id泛型对象时不在变量前加*

       //直到赋值的时候才确定是什么类型

       NSLog(@"%@",arry);

    }

    NSLog(@"for-in的使用");

   //for-in 的使用和java中的一样,循环的次数依赖与数组元素的个数

   for (id tempin arrays) {

       NSLog(@"%@",temp);

    }

    //NSArray的子类NSMutableArray为可变的数组  可以进行增删改查

//    NSMutableArray *mArray=[[NSMutableArray alloc]init];

    NSMutableArray *mArray=[NSMutableArrayarrayWithObjects:stu1,@"aaa",@"abc",nil];

//    //NSMutableArray是可变数组,是NSArray的子类,里面的元素可以增删改查

    NSLog(@"数组的长度%ld",[mArray count]);//输出数组的长度(元素的个数)调用count方法,采用长整型站位符

   //向数组中添加元素

    [mArrayaddObject:@"cccc"];

    [mArray addObject:[NSNumbernumberWithBool:YES]];

    NSLog(@"添加后的数组元素");

   NSLog(@"%@",mArray);

   //删除数组中的元素

    [mArray removeObjectAtIndex:0];//删除下标为0的元素即第一个元素

    NSLog(@"删除第一个元素后的数组元素");

   NSLog(@"%@",mArray);

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


0 0
原创粉丝点击