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

关于NSMutableArray和NSArray的一些坑

2016-10-20 15:23 302 查看
今天在写学习时突然遇到了数组添加不进元素的问题,这些不注意的小坑(菜鸟可以借鉴,大神可以无视):

关于NSArray

当想要逐个添加元素时会用到arrayByAddingObject这个方法,最初我是这么写的:

[array arrayByAddingObject:object1];`


但是发现没有反应,后来才发现arrayByAddingObject这个方法返回的是一个数组,而产生的新数组是copy的旧数组,所以正确的写法应该是:

array = [array arrayByAddingObject:object1];


关于NSMutableArray

NSMutableArray添加元素是用的addObject方法,这没有返回值,所以代码如下:

[muatableArray addObject:object1];`


但是我又遇到了添加不进元素的情况,折腾了许久才发现,我在@property中定义的,而没有对数组进行数组初始化,作为初学者,这点小小的忘记挖出的坑也不欠,所以正确的应该是:

mutableArray = [[NSMutableArray alloc]init];

[muatableArray addObject:object1];`


顺便提一句,NSArray如果不进行数组初始化,同样加不进元素的。

自行学习,不喜勿喷,欢迎指导~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息