您的位置:首页 > 移动开发 > IOS开发

NSArray, NSMutableArray中常用API

2014-12-26 14:41 411 查看
NSArray中常用API 

1.创建数组

  //遍历构造器创建

        NSArray * ary = [NSArray arrayWithObjects:@"1", @"2", @"3", @"4", nil];// nil结束标志

  //初始化方法创建

        NSArray * ary1 = [[NSArray alloc] initWithObjects:@"1", @"2", @"3", @"4", nil]; 

2.数组元素个数 

         NSUInteger count = [ary count];
//打印输出用%lu

         NSString * str =  [ary objectAtIndex:2];

3.根据下标取对应的数组元素(有参数, 有返回值)

        NSString * str =  [ary objectAtIndex:2];

               NSString * str1 =  [ary firstObject];//第一个元素
         NSString * str2 =  [ary lastObject];//最后一个元素

        //objectAtIndex:0 与 firstObject对比的区别

        //相同点

        //都是获取一个数组中的首个元素

        //不同点:当数组元素为空时,使用第一个方法, 程序会崩溃, 使用第二个方法会返回nil, 程序是可以继续运行.
lastObject同理

4.判断元素是否存在

         //判断ary1中是否存在3

        BOOL isExist = [ary1 containsObject:@"3"];

        if (isExist) {

            NSLog(@"存在");

        }else{

            NSLog(@"不存在");

5根据元素获得对应的下标
        NSArray * ary0 = [NSArray arrayWithObjects:@"1", @"6", @"3", @"8", nil];

        NSUInteger  index = [ary0 indexOfObject:@"6"];

        NSLog(@"%lu", index);

---------iOS学习 OC中的 for in 快速遍历数组

        NSArray * arr = [NSArray arrayWithObjects:@"1", @"6", @"3", @"8", @"12", @"a", @"e", @"0", nil];


           //for循环遍历数组

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

            NSString * str = [arr objectAtIndex:i];

            NSLog(@"%@",
str);

        }

        //for in 快速遍历数组

        for (NSString *
str1 in arr) {

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

        }

        NSArray * ary1 = @[@20, @12];

        for (NSNumber *
num in ary1) {

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

        }

        

NSMutableArray中常用API 

        //1.创建对象

        NSMutableArray * mArray = [[NSMutableArray alloc] initWithCapacity:1];

         NSMutableArray * mArray1 = [NSMutableArray arrayWithObjects:@"aa", @"bb", @"cc", @"dd", nil];

         //2.求数组中元素个数

        NSUInteger cou = [mArray1 count];

        NSLog(@"%lu", cou);

        //3.往数组中添加元素

        //(1),添加一个元素

        [mArray1 addObject:@"ff"];

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

        //(2),在指定的下标处 插入一个元素

        [mArray1 insertObject:@"AA" atIndex:1];

        NSLog(@"++++mArray1 = %@", mArray1);

        //4.替换元素

        //把位置1的元素替换成99

        [mArray1 replaceObjectAtIndex:1 withObject:@"99"];

        NSLog(@"4444mArray1 = %@", mArray1);

        //5.交换下标对应的元素

        [mArray1 exchangeObjectAtIndex:0 withObjectAtIndex:1];

        NSLog(@"5555mArray1 = %@", mArray1);

        //6.移除元素

        //(1)移除指定元素

        [mArray1 removeObject:@"aa"];

        NSLog(@"6(1)mArray1 = %@", mArray1);

        //(2)移除指定下标对应的元素

        [mArray1 removeObjectAtIndex:0];

        NSLog(@"6(2)mArray1 = %@", mArray1);

        //(3)移除所有元素

        [mArray1 removeAllObjects];

        NSLog(@"6(3)mArray1 = %@", mArray1);

//总结:可变数组和不可变数组的区别:增添了增删改功能, 而且都是对原有对象做修改

//数组的使用场景:当需要一个有序的集合来管理对象时, 就是用数组

//数组中, 可以存放相同的元素
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息