NSArray的一些方法

来源:互联网 发布:dnf网络中断怎么解决 编辑:程序博客网 时间:2024/06/05 14:27

//NSArray:不可变数组类

    

    //--------------------------------------创建只有一个元素的数组

    //-------------------arrayWithObject

    //NSArray创建的数组内部存放的元素必须是"对象"类型

    NSArray *array = [NSArrayarrayWithObject:@"1"];//arrayWithObject接收的参数是"对象"类型数据,@"1"可以看做是一个对象

    

    

    //去数组中得元素,元素下标从0开始

   NSLog(@"%@", array[0]);

    

    

    //将字符串转变为整型数据

   NSInteger a = [array[0]intValue];

   NSLog(@"%ld", a);

    

    

    //-------------------------------------创建有多个元素的数组

    //------------------arrayWithObjects

    //是个类方法,参数列表中各个对象以逗号分隔,最后以nil结尾,nil是数组结束的标识符

    NSArray *array2 = [NSArrayarrayWithObjects:@"aaa",@"bbb",@"ccc", nil];

    

    

    

    

    //--------------------------------------得到数组的元素个数

    //-----------------Count

    //计数时不计入nil

   NSUInteger b = [array2count];

   NSLog(@"%lu", b);

    

    //打印数组的每一个元素

   for (int i = 0; i < [array2count]; i++) {

       NSLog(@"%@", array2[i]);

    }

    

    //错误方法,不能把nil当做c语言中字符串末尾的'\0'作为判断条件使用,count遇到nil默认数组结束

//    int i = 0;

//    while (array2[i] != nil) {

//        NSLog(@"%@", array2[i]);

//        i++;

//    }

    

    //快捷打印(直接输入数组名),打印出得是一个数组,而不是数组中的元素

   NSLog(@"%@", array2);

    

    

    

    

    //数组中存放的元素必须是对象,但是对象的类型可以是不同的

    //NSArray是一个不可变的数组,一旦被创建,就不能改变(元素个数不能增减,元素内容不能变化)

    Person *person1 = [PersonpersonWithName:@"jim"age:12];

    Person *person2 = [PersonpersonWithName:@"hank"age:12];


    Person *person3 = [PersonpersonWithName:@"victor"age:18];

   NSArray *array3 = [[NSArrayalloc]initWithObjects:person1, person2, person3,nil];

   NSLog(@"%@", array3);                            //可以直接将person对象中得内容打出来

   NSLog(@"%@",[array3[1]name]);

    

    

    

    //数组中得元素本质是地址,地址不能被改变,但是地址对应的内容可以改变

    [person2setName:@"123"];

    NSLog(@"%@", array);//打印结果是:person2的名字变为123,

    

    

    

    //------------------------------------动态大小数组

    //-------------------NSMutableArray

   //创建

    NSMutableArray *mArray = [[NSMutableArrayalloc]initWithCapacity:0];

    

    

    //添加元素

    //addObject:默认在数组末尾处添加

    //不仅可以添加一个普通的对象,还可以添加一个数组,即使这个数组中又有多个对象,在被添加的数组中仍被当做一个对象来看待

    [mArrayaddObject:@"aaa"];

    [mArrayaddObject:person1];

    

    //addObjectFromArray:在数组后添加另一个数组

    [mArrayaddObjectsFromArray:array3];

   NSLog(@"%@", mArray);


0 0
原创粉丝点击