arrayByAddingObjectsFromArray当第二个数组为空时添加假对象?

时间:2013-07-28 15:26:32

标签: objective-c

我称之为:

  

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];

正好得到了我想要的东西(两个阵列都挤在一起,即使其中一个或两个都是零)。

我对其他阵列的作用完全错了吗?为什么将空数组添加为元素?我原以为它就像连接......

1 个答案:

答案 0 :(得分:1)

代码正在调用arrayByAddingObject:而不是arrayByAddingObjectsFromArray:,这就是为什么你将参数数组附加为元素而不是获取连接数组的原因。