-2

我这样称呼它:

NSMutableArray* Wanted_items = (NSMutableArray*)[self.has_items arrayByAddingObject:self.near_items];

当 self.near_items 为空,而 self.has_items 有一个元素时,我最终会得到想要的项目,其中有两个元素,第一个来自 has_items,第二个是一些奇怪的疯狂空的东西,显然不是 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];

得到我想要的东西(两个数组都挤在一起,即使一个或两个都为零)。

我对另一个阵列的作用完全错误吗?为什么要将空数组添加为元素?我期待它像串联......

4

1 回答 1

1

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

于 2013-07-28T15:41:07.337 回答