我称之为:
NSMutableArray * wanted_items =(NSMutableArray *)[self.has_items arrayByAddingObject:self.near_items];
当self.near_items为空,且self.has_items有一个元素时,我最终得到了其中有两个元素的wanted_items,第一个来自has_items,第二个是一些奇怪的疯狂空THING,显然不是nil或NSNULL
这里发生了什么?我做错了吗?
编辑:
如果我向后做(将has_items添加到near_items)我正确地获得了一个包含单个元素的数组......并且该元素是一个奇怪的空白事物。
当我尝试将其打印出来时,我得到了:
( (空值) )
当我尝试打印原始订单时,我得到:
无描述
(对于正确的)和
()
表示错误的(内部没有(null))
这种方法是不是用于初始化但空的数组?
编辑:
做
NSMutableArray* wanted_items = [[NSMutableArray alloc] init];
[wanted_items addObjectsFromArray:self.has_items];
[wanted_items addObjectsFromArray:self.near_items];
正好得到了我想要的东西(两个阵列都挤在一起,即使其中一个或两个都是零)。
我对其他阵列的作用完全错了吗?为什么将空数组添加为元素?我原以为它就像连接......
答案 0 :(得分:1)
代码正在调用arrayByAddingObject:
而不是arrayByAddingObjectsFromArray:
,这就是为什么你将参数数组附加为元素而不是获取连接数组的原因。