天天看点

OC学习笔记之NSArray

//通过多个对象创建数组。

       NSArray *array = [[NSArrayalloc]initWithObjects:@"one",@"two",@"three",@"four",nil];

       NSLog(@"%@",array);

        //通过已有数组创建数组

       NSArray *arr2 =[[NSArrayalloc]initWithArray:array];

       NSLog(@"%@",arr2);

        //通过类方法创建数组

       NSArray *arr3 = [NSArrayarrayWithArray:arr2];

       NSLog(@"%@",arr3);

       NSArray *arr4 = [NSArrayarrayWithObjects:@"545",@"848",@"gff",nil];

       NSLog(@"%@",arr4);

        //xcode 5 以上的版本创建数组

        NSArray *arr =@[@"周杰伦",@"汪峰",@"那英",@"哈林"];

       NSLog(@"%@",arr);

        //遍历数组    .count获取数组元素的个数

       for ( int i=0;i<arr.count;i++) {

           //取出数组元素

            // objectAtIndex 获取指定下标的数组元素

            // NSString *string = [arr objectsAtIndexes:i];

           NSString *string = arr[i];

           NSLog(@"%@",string);

        }

        //快速枚举遍历数组元素

       for (NSString *objin arr) {

           NSLog(@"%@",obj);

        }

        //通过枚举器遍历数组

       NSEnumerator *enu = [arr objectEnumerator];

       NSString *obj =nil;

       while (obj = [enu nextObject]) {

           NSLog(@"%@",obj);

        }

        //通过枚举器,逆序打印

       NSEnumerator *enu2 = [arr reverseObjectEnumerator];

       NSString *obj2 = nil;

       while (obj2 = [enu2 nextObject]) {

           NSLog(@"%@",obj2);

        }

        //block 遍历                       元素          下标        是否停止

        [arrenumerateObjectsUsingBlock:^(id obj,NSUInteger idx, BOOL *stop) {

           if (idx==1)

            {

                *stop =YES;//可以控制何时停止遍历;

            }

           NSLog(@"%@,%lu",obj,idx);

        }];

       //写入文件

        if ([arrwriteToFile:@"/Users/qianfeng/Desktop/资料夹/my read/NSArray/NSArray/File"atomically:YES]) {

           NSLog(@"写入成功!");

        }