2016-06-02 1 views
0

Ich habe versucht, ein Objekt in meinem Array hinzuzufügen. Hier ist, was ich bisher getan:Beenden mit nicht abgefangener Ausnahme vom Typ NSException auf meinem NSArray

NSMutableArray *mutableMenuArray = [NSMutableArray arrayWithArray:dictionary[MJFeedDataKey]]; 
[mutableMenuArray removeObjectAtIndex:1]; 
[mutableMenuArray removeObjectAtIndex:1]; 

NSMutableArray *menuArray = [[NSMutableArray alloc] init]; 
[menuArray addObjectsFromArray:mutableMenuArray]; 
[menuArray addObject:@"Check"]; 

MJMenuEntities *menus = [MJMenuEntities sharedInstance]; 
[menus setWithArray:menuArray]; 
self.modelArray = [NSMutableArray arrayWithArray:menus.menuItems]; 

Aber sobald ich gesetzt habe die menus-menuArray es kommt mit einem Fehler:

"Terminating with uncaught exception of type NSException on my NSArray".

Aber wenn die menus-mutableMenuArray gesetzt ist kein Fehler.

+0

Klingt wie ein Problem innerhalb der SetWithArray-Methode. Der einzige Unterschied zwischen Ihren Arrays ist @ "Check", also mag setWithArray diese Zeichenfolge nicht? Funktioniert es, wenn Sie die Zeile auskommentieren, die diese Zeichenfolge hinzufügt? – ghostatron

+0

Sie brauchen auch 'menuArray' nicht. Du könntest einfach '[mutableMenuArray removeObjectAtIndex: 1]; [mutableMenuArray removeObjectAtIndex: 1]; [mutableMenuArray addObject: @ "Check"]; 'und geben' Menüs' dieses Array. Wie auch immer, wenn Sie eine Ausnahme bekommen, ist es ein Problem mit 'setWithArray', das wahrscheinlich das Array modifiziert. – Brandon

+0

@conarch Ja, es funktioniert, wenn ich diese Zeile auskommentiere – drbj

Antwort

0

NSArray ist unveränderlich. Es scheint, als ob Sie den ersten Parameter der Methode ändern: - setWithArray.

Können Sie die Details der Methode einfügen: - SetWithArray.

Verwandte Themen