无法删除 NSMutableArray 中的所有对象

Can't remove all objects in NSMutableArray

出于某种原因,当我 运行 我的应用程序时,我一直收到此错误:

[__NSArrayI removeAllObjects]: unrecognized selector sent to instance

我在 .m 中设置 NSMutable 数组是这样的:

@implementation ChooseViewController
{
    NSMutableArray *trackName;
}

并像这样填充它:

trackName = [JSON valueForKeyPath:@"results.trackName"];

但是当我 运行 这段代码时,它给了我错误:

[trackName removeAllObjects];

其他一切正常,trackName 中的数据正常。当我 运行 这段代码时,它只是搞砸了。唯一提到的其他时间 trackName 数组是 table 观看次数:

return [trackName count];

你看有什么不对吗?我认为问题在于它认为它是 NSArray 的某个地方,但其中 none 是。

可变问题。

trackName = [JSON valueForKeyPath:@"results.trackName"];

此行将生成 trackName 的不可变数组。更改为:

trackName = [[JSON valueForKeyPath:@"results.trackName"] mutableCopy];

现在,trackName 是可变的,因此您可以调用。

[trackName removeAllObjects];