IOS开发笔记14-NSArray的使用

转载请标明出处:
http://blog.csdn.net/hai_qing_xu_kong/article/details/53585962
本文出自:【顾林海的博客】

前言

NSArray是oc中常用的类,可以保存一组指向其他对象的指针。

实例

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // insert code here...

        NSString *strFirst=@"hello";
        NSString *strSecond=@"Object-C";
        NSString *strThree=@"AAAA";

        NSArray *strList=@[strFirst,strSecond,strThree];

        NSLog(@"strList[0] : %@",strList[0]);

    }
    return 0;
}

NSArray也可以用字面量语法来创建实例。数组的内容写在方括号里,使用逗号分隔,前方带@符号。NSArray中的指针是有序排列的,并可以通过相应的索引来存取。索引以0为起始。

NSArray的实例是无法改变的,一旦NSArray实例被创建后,就无法添加或删除数组里的指针,也无法改变数组的指针顺序。

遍历数组

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // insert code here...

        NSString *strFirst=@"hello";
        NSString *strSecond=@"Object-C";
        NSString *strThree=@"AAAA";

        NSArray *strList=@[strFirst,strSecond,strThree];

        NSUInteger listLength=[strList count];

        for(int i=0;i<listLength;i++){
            NSLog(@"strList[%d] : %@",i,strList[i]);
        }

    }
    return 0;
}

遍历数组可以使用for循环来遍历。除了使用这种常规的遍历方法,我们还可以使用快速枚举的方式来遍历:

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // insert code here...

        NSString *strFirst=@"hello";
        NSString *strSecond=@"Object-C";
        NSString *strThree=@"AAAA";

        NSArray *strList=@[strFirst,strSecond,strThree];

        for(NSString *str in strList){
            NSLog(@"%@",str);
        }

    }
    return 0;
}

NSMutableArray

NSMutableArray实例和NSArray实例类似,但是可以添加、删除或对指针重新进行排序。

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // insert code here...

        NSString *strFirst=@"hello";
        NSString *strSecond=@"Object-C";
        NSString *strThree=@"AAAA";

        NSMutableArray *mutableArray=[NSMutableArray array];

        //添加两个NSString对象
        [mutableArray addObject:strFirst];
        [mutableArray addObject:strSecond];

        //将strThree指针插入到数组的起始位置
        [mutableArray insertObject:strThree atIndex:0];
        for(NSString *str in mutableArray){
            NSLog(@"%@",str);
        }


        //删除strThree指针
        [mutableArray removeObjectAtIndex:0];
        NSLog(@"%@",mutableArray[0]);
    }
    return 0;
}




输出结果:

AAAA
hello
Object-C
hello

注意:使用快速枚举遍历NSMutableArray时,不能在枚举过程中增加或删除数组中的指针。如果遍历时需要添加或删除指针,则需要使用标准的for循环。

©️2020 CSDN 皮肤主题: 猿与汪的秘密 设计师:上身试试 返回首页