由于某些原因,我在运行应用程序时始终收到此错误:[__NSArrayI removeAllObjects]: unrecognized selector sent to instance
我在.m中设置了NSMutableArray,如下所示:
@implementation ChooseViewController
{
NSMutableArray *trackName;
}
并像这样填充它:
trackName = [JSON valueForKeyPath:@"results.trackName"];
但是当我运行这段代码时,它给了我错误:
[trackName removeAllObjects];
其他一切正常,trackName中的数据正常工作。当我运行这段代码时,这简直就是一团糟。提到TrackName数组的唯一其他时间是用于表视图计数:
return [trackName count];
你有什么不对吗?我认为问题在于某个地方认为它是NSArray,但都不是。
最佳答案
可变问题。
trackName = [JSON valueForKeyPath:@"results.trackName"];
此行将导致trackName变为不可变数组。更改为此:
trackName = [[JSON valueForKeyPath:@"results.trackName"] mutableCopy];
现在,
trackName
是可变的,因此您可以调用。[trackName removeAllObjects];