将 NSArray 的一部分添加到其他 NSArray

Add part of NSArray to other NSArray

我正在尝试将大 NSArray 的一部分添加到另一个 NSArray。但是,我做错了什么,因为它一直在抛出错误。

这是具体代码:

@property (nonatomic, strong) NSMutableArray *searches;
@property (nonatomic, strong) NSMutableArray *chosenResult;

...bit further down...

for (NSString *string in self.searches[indexPath.row]) {
    [self.chosenResult addObject:string];
}

这是错误:

'NSInvalidArgumentException', reason: '-[Search countByEnumeratingWithState:objects:count:]: unrecognized selector sent to instance 0x7a1710d0'

看起来您只是不需要快速枚举循环,因为您已经有了数组中的索引:

[self.chosenResult addObject:self.searches[indexPath.row]];

您看到的错误是因为快速枚举循环需要一些集合,例如数组,但您实际上向它提供了一个 Search 对象,该对象未实现快速枚举方法。

您认为自己的数据结构与实际数据结构之间存在脱节。该错误告诉您您正在尝试将消息 countByEnumeratingWithState:objects:count:(一种快速枚举方法)发送到 Search 对象。

这告诉我们您的 self.searches 数组包含 Search 个对象,而不是您所说的字典。 (或者至少目标索引处的对象是 Search 对象。其他索引处的对象可能是其他类型......)我建议进行更多调试以弄清楚为什么数组包含与你认为的不同的东西。