2015-05-01 87 views
0

出於某種原因,我不斷收到這個錯誤,當我跑我的應用程序:無法刪除所有對象的NSMutableArray

[__NSArrayI removeAllObjects]: unrecognized selector sent to instance

我設置的NSMutableArray中的.m這樣的:

@implementation ChooseViewController 
{ 
    NSMutableArray *trackName; 
} 

和填充它像這樣:

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

但是當我運行這段代碼,它摹ives我的錯誤:

[trackName removeAllObjects]; 

一切工作正常,並在trackName中的數據工作。這只是當我運行這個代碼搞亂了。唯一的其他時間TRACKNAME陣列被提及是表查看次數:

return [trackName count];

你看到什麼錯?我認爲問題在於它認爲它是一個NSArray,但它們都不是。

+0

valueforkeypath返回非可變數組,因此在分配給trackName之前,使用mutableCopy函數將其轉換爲可變值。 –

回答

6

可變問題。

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

此行將導致不可變數組到trackName。改成這樣:現在

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

trackName是可變的,這樣就可以調用。

[trackName removeAllObjects]; 
相關問題