NSArray使用须知

多用firstObject方法

在iOS7之前,我们获取NSArray的第一个元素,通常使用array[0],在iOS7中,新引入了公开的firstObject方法,对于空数组,该方法返回nil,而使用array[0]则会抛出NSRangeException异常。与firstObject方法对应的是lastObject方法。

创建数组

以数组创建数组

关于构造(可变)数组有一个漂亮的细节可以节省代码量。如果通过一个可能为nil的数组创建一个可变数组,通常会这么写:

NSMutableArray *mutableObjects = [array mutableCopy];
if (!mutableObjects) {
    mutableObjects = [NSMutableArray array];
}

或者通过更简洁的三元运算符:

NSMutableArray *mutableObjects = [array mutableCopy] ?: [NSMutableArray array];

更好的解决方案是使用arrayWithArray:,即使原数组为nil,该方法也会返回一个数组对象:

NSMutableArray *mutableObjects = [NSMutableArray arrayWithArray:array];

这两个操作在效率上几乎相等。使用copy会快一点点,不过话说回来,这不太可能是你应用的瓶颈所在。

创建空数组

比较经典(且简洁)的创建空数组(元素为0)的数组的方式是使用array方法:

// create a mutablearray instance
NSMutableArray *aMutableArray = [NSMutableArray array];
// create a array instance
NSArray *aArray = [NSArray array];

 

转载于:https://www.cnblogs.com/FightingLuoYin/p/4521908.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值