NSArray,NSMutableArray的一些经常使用方法

不可变数组 ——NSArray 数组

经常使用的初始化一个数组: xcode

        NSArray *array1 = [[NSArray alloc] init]; app

              NSArray *array2 = [NSArray array]; spa

 //对于上述两个方法,在NSArray中用的不多,由于这是一个空数组,它的值是不可改变的,意味着一旦建立,就永远为空 code

              NSArray *array3 = [NSArray arrayWithObjects:[NSNumber                                                                                numberWithInt:123],@"char",[NSNumber numberWithFloat:1.0f],nil]; component

              NSArray *array4 = [NSArray arrayWithArray:array3]; 对象

              NSArray *array5 = [NSArray arrayWithObject:@123];//NSNumber新方法 继承

               NSString *path = @"string8.text"; //@里出现的是想要访问的文件的路径 内存

              NSArray *array6 = [NSArray arrayWithContentsOfFile:path]; ci

新方法:    NSArray *array = @[@123,@"123",@{@"key": @"value"}];

      新方法的出现,减轻了很多代码的负担,对于新方法不用去刻意记,在xcode中输入@后,系统会自动出现一幅图,    选择想用的方法,去建立就好。

     对于alloc 方法和不用alloc 建立的区别,在这里就不叙述了,xcode中使用ARC后,开发者能够不用手动管理内存,用alloc时也没有太多须要注意的问题了


经常使用的方法:

获取数组长度:      NSInteger count = [array count];

根据下标访问数组NSString * string = [array3 objectAtIndex:1];

在原来的数组上追加对象或数组,返回一个新的数组(原来的数组不变)

        NSArray *addArray1 = [array1 arrayByAddingObject:@"char"];

        NSArray *addArray2 = [array1 arrayByAddingObjectsFromArray:array4];

用指定的字符串将数组中的元素链接起来:

        NSString *appstring = [array4 componentsJoinedByString:@","];

用指定的字符串将字符串中的元素分开并保存到数组中:

        NSArray *appArray = [appstring componentsSeparatedByString:@","];


数组中是否包含了某个对象:

        BOOL isContain = [appArray containsObject:@"abc"];

查找某对象在数组中的位置,若找不到,将返回NSNotFound:

        NSInteger index = [appArray indexOfObject:@"char"];

返回数组中最后一个元素:

        NSString *lastString = [appArray lastObject];


可变数组 ——NSMutableArray(继承自NSArray)

经常使用方法:

初始化,设置元素的个数为6,可是能够修改:

        NSMutableArray *muArray1 = [NSMutableArray arrayWithCapacity:6];

向数组中指定下标插入一个元素:

        [muArray1 insertObject:@"abc" atIndex:0];

向数组中加入一个元素

        [muArray1 addObject:@"123"];

移除数组中最后一个元素:

        [muArray1 removeLastObject];

移除数组中指定元素:

        [muArray1 removeObject:@"123"];

移除数组中指定下标元素:

        [muArray1 removeObjectAtIndex:0];

加入数组做为其元素:

        [muArray1 addObjectsFromArray:array];


遍历数组的两种方法:

常规方法:

        NSArray *array = @[@"a",@"b",@"c",@"d",@"e"];

        NSInteger length = [array count];

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

            NSString * element = [array objectAtIndex:i];

            NSLog(@"element = %@\n",element);

        }

快速遍历:

        NSArray *array = @[@"a",@"b",@"c",@"d",@"e"];

        NSInteger length = [array count];

        for (NSString *element in array) {

            NSLog(@"element = %@",element);

        }

 
相关文章
相关标签/搜索