【OC学习-18】NSArray的初始化以及常用数组操作方法简单归纳

数组也分成可变和不可变,这个和NSString一样,初始化的方法也类似,对元素的操作也类似,具体如下。

多练习几遍,知道每个代表什么意思即可。开发项目时再加深印象。

        //不可变数组
        //数组的元素只能是对象,如果是int和float的话,就用NSNumber转换一下才能用

        //初始化的几种方式,可以一个元素、多个元素、从已有组复制、从文件、网址等
        NSArray *arr1=[NSArray arrayWithObject:@"hello"];
        NSArray *arr2=[NSArray arrayWithObjects:@"hello",@"world", nil];
        NSArray *arr3=[NSArray arrayWithArray:arr2];
        NSArray *arr4=[NSArray arrayWithContentsOfFile:<#(NSString *)#>];
        NSArray *arr5=[NSArray arrayWithContentsOfURL:<#(NSURL *)#>];
        //当然,最基本但是最复杂的初始化是这个样子的
        NSArray *arr6=[[NSArray alloc]initWithObjects:@"hello",@"world", nil];

        //获取数组的个数
        NSInteger count=[arr2 count];
        //根据下标访问里面的对象
        NSString *arrObj=[arr2 objectAtIndex:2];
        //给数组增减新元素(对象)
        NSArray *arrNew=[arr2 arrayByAddingObject:@"yes"];
        //把数组里元素利用连接符连接成字符串
        NSString *strNew=[arr2 componentsJoinedByString:@"-"];
        //查询数组中是否包含某一元素,YES和NO
        BOOL isContain=[arr2 containsObject:@"hello"];
        //查询并返回位置,如没有则是NSNotFound
        NSInteger index=[arr2 indexOfObject:@"hello"];
        //获取最后一个元素
        NSString *lastEle=[arr2 lastObject];

        //可变数组,5个元素
        NSMutableArray *mutArr=[[NSMutableArray alloc]initWithCapacity:5];
        //添加一个元素
        [mutArr addObject:@"hell"];
        //指定位置插入一个元素
        [mutArr insertObject:@"word" atIndex:1];
        //移除数组的元素,按名称按序号等
        [mutArr removeLastObject];
        [mutArr removeObject:@"hell"];
        [mutArr removeObjectAtIndex:0];
        [mutArr removeAllObjects];
        //替换元素
        [mutArr replaceObjectAtIndex:1 withObject:@"hello"];
        //把一个数组添加到另一个里
        [mutArr addObjectsFromArray:arr1];

        //应用:遍历数组元素方法
        NSArray *arr7=[NSArray arrayWithObjects:@"a",@"b",@"c", nil];
        int length=[arr7 count];
        for (int i=0;i<length;i++) {
            NSString *element=[arr7 objectAtIndex:i];
            NSLog(@"%@",element);
        }

        //应用:遍历数组元素方法
        for (NSString *str8 in arr7) {
            NSLog(@"%@",str8);
        }
        //当不确定元素类型时用id,比如除了NSString还有NSNumber
        for (id str8 in arr7) {
            NSLog(@"%@",str8);
        }
时间: 2024-11-05 22:41:21

【OC学习-18】NSArray的初始化以及常用数组操作方法简单归纳的相关文章

oc学习之NSArray与NSMutableArray数组

//创建数组对象,NSArray不可变数组 //[NSNull null]空对象 //NSArray *arr = [[NSArray alloc] initWithObjects:@"234",@"543",@"asb",nil]; NSArray *arr1 = @[@"1 2 3",@"234",[NSNull null],@"789"]; NSArray *arr3 = [[NS

OC学习-单例设计模式的理解、案例和简单总结

单例模式,就是一个类始终只有一个实例,不管如果copy还是retain还是alloc等等,都只有一个实例.为什么?有什么好处? 简单来说: a:有的东西只能有一个,那就必须用单例: b:单例的好处就是不会有多余的实例,所以节约内存: c:因为只有一个单例,所以易于管理多线程对它的访问. d:其他的原因……省略 我们创建一个单例的User类,然后生成一个user1对象,再把这个对象进行copy.retain这些,再看看它们是否是同一个实例,还是被创建出多个实例? (1)User.h view so

js基础-常用数组操作方法

1.slice() 方法:arrayObject.slice(start,end)返回值:返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素. 2.splice() 方法:array.splice(index,howmany,item1,.....,itemX) index:  从何处添加/删除元素 howmany:  应该删除多少元素.必须是数字,但可以是 "0".如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素.

JavaScript常用数组操作方法

ES5操作数组的方法 1.concat() concat() 方法用于连接两个或多个数组.该方法不会改变现有的数组,仅会返回被连接数组的一个副本. var arr1 = [1,2,3]; var arr2 = [4,5]; var arr3 = arr1.concat(arr2); console.log(arr1); //[1, 2, 3] console.log(arr3); //[1, 2, 3, 4, 5] 2.join() join() 方法用于把数组中的所有元素放入一个字符串.元素是

JavaScript常用数组操作方法,包含ES6方法

一.concat() concat() 方法用于连接两个或多个数组.该方法不会改变现有的数组,仅会返回被连接数组的一个副本. var arr1 = [1,2,3]; var arr2 = [4,5]; var arr3 = arr1.concat(arr2); console.log(arr1); //[1, 2, 3] console.log(arr3); //[1, 2, 3, 4, 5] 二.join() join() 方法用于把数组中的所有元素放入一个字符串.元素是通过指定的分隔符进行分

IOS开发-OC学习-常用功能代码片段整理

IOS开发-OC学习-常用功能代码片段整理 IOS开发中会频繁用到一些代码段,用来实现一些固定的功能.比如在文本框中输入完后要让键盘收回,这个需要用一个简单的让文本框失去第一响应者的身份来完成.或者是在做与URL有关的功能时,需要在Info.plist中添加一段代码进而实现让网址完成从Http到Https的转换,以及其他的一些功能. 在从一个新手到逐渐学会各种功能.代码.控件.方法如何使用的过程中,也在逐渐积累一些知识,但是一次总不会把这些东西都深刻记住并完全理解.所以在这儿记录下这些东西,用来

(转载)OC学习篇之---Foundation框架中的NSArray类和NSMutableArray类

在之前的一篇文章中介绍了Foundation框架中的NSString类和NSMutableString类,今天我们继续来看一下Foundation框架中的NSArray类和NSMutableArray类,其实NSArray类和Java中的List差不多,算是一种数据结构,当然我们从这两个类可以看到,NSArray类是不可变的,NSMutableArray类是可变的. 下面就先来看一下NSArray类: 一.NSArray类 1 // 2 // main.m 3 // 16_NSArray 4 /

OC学习篇之---Foundation框架中的NSArray类和NSMutableArray类

在之前的一篇文章中介绍了Foundation框架中的NSString类和NSMutableString类: http://blog.csdn.net/jiangwei0910410003/article/details/41788223 今天我们继续来看一下Foundation框架中的NSArray类和NSMutableArray类,其实NSArray类和Java中的List差不多,算是一种数据结构,当然我们从这两个类可以看到,NSArray类是不可变的,NSMutableArray类是可变的.

OC学习16——对象归档

转载自  OC学习篇之---归档和解挡 OC中的归档就是将对象写入到一个文件中,Java中的ObjectInputStream和ObjectOutputStream来进行操作的.当然在操作的这些对象都是需要实现一个接口:Serializable,同样的OC中操作的对象也是需要实现一个协议的,后面会说到. 一.已有类型的归档和解档 首先来看一个简单的例子: 1 // 2 // main.m 3 // 33_ObjectToFile 4 // 5 // Created by jiangwei on