关于NSMutableArray和NSArray的一些坑

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

关于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如果不进行数组初始化,同样加不进元素的。

自行学习,不喜勿喷,欢迎指导~

你可能感兴趣的:(NSArray)