今天在写学习时突然遇到了数组添加不进元素的问题,这些不注意的小坑(菜鸟可以借鉴,大神可以无视):
关于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如果不进行数组初始化,同样加不进元素的。
自行学习,不喜勿喷,欢迎指导~