OC基础 NSArray 容器

@autoreleasepool {
        // insert code here...
        NSLog(@"Hello, World!");
        //c语言中的数组问题
        int arr[10]={1,2,3,4,5,6,7,8,9,0};
        //c语言的数组只能存同类型的值
        //固定大小的数组很难确定大小
        int* p=(int*)malloc(10*sizeof(int));
        //动态数组的内存管理需要程序员自己完成
        //如果是对象数组,数组中的对象的内存管理也需要程序员自己完成
        
        //oc中提供了NSArray
        //1.NSArray 不可变的数组对象
        //2.NSMutableArray 可变的数组对象
        
        //NSArray的创建
        //1.
        NSArray* array=[[NSArray alloc]init];
        //2.
        NSArray* array2=[NSArray array];
        //3.
        NSArray* array3=[NSArray arrayWithObjects:@"one",@"two",@"three" ,nil];
        //NSArray中只能存放oc中的对象类型,c语言中的基本数据类型,enum,结构体不能存放在NSArray
        //nil ,Null 不能存放在NSArray,NSArray,以nil(NULL,0)为结束
        //4.
        NSArray* array4=@[@"one",@"two",@"three"];
        
        //数组的遍历
        
        //1.快速遍历
        for(id obj in array4) //for each
        {
            
            NSLog(@"%@",obj);
        }
        //2.下标法
        for (int i=0;i<[array4 count];i++)
        {
            NSLog(@"%@",array4[i]);
        }
        //3.
        for (int i=0;i<[array4 count];i++)
        {
            NSLog(@"%@",[array4 objectAtIndex:i]);
            
            
        }
        //4.
        NSLog(@"%@",array4);
        
        //5.通过枚举对象
        NSEnumerator* enumator=[array4 objectEnumerator];
        id obj;
        while (obj =[enumator nextObject])
        {
            NSLog(@"%@",obj);
        }
        
        
        

猜你喜欢

转载自www.cnblogs.com/zhangqing979797/p/13193175.html