2010-11-21 5 views
9

Ceci est probablement un problème simple mais quelqu'un serait gentil de me donner un indice de ce qui ne va pas dans le scénario suivant, je ne comprends tout simplement pas. J'ai un NSMutableArray "playerArray", qui a des objets "ZERO", "ONE", "TWO", TROIS "NSMutableArray removeObjectAtIndex cause erreur

J'essaye d'enlever l'objet à" rangée "mais cela ne fonctionne pas. de sorte qu'il retourne un tableau immuable que l'exception semble se jeter parce qu'il ne répond pas à removeObjectAtIndex

NSUInteger row = 1; // [indexPath row]; 
NSLog(@"playerArray:%@", playerArray); 
NSLog(@"row: %i", row); 
[playerArray removeObjectAtIndex:row]; 

le résultat est:

playerArray :(
ZERO,
ONE,
DEUX, TROIS

)
2010-11-21 20: 58: 46,681 FamQuiz_v2 [2166: 207] rangée: 1
21/11/2010 20: 58: 46,682 FamQuiz_v2 [2166: 207] - [__ NSArrayI removeObjectAtIndex:]: sélecteur non reconnu envoyé à l'instance 0x5e3b9a0
2010-11-21 20: 58: 46,683 FamQuiz_v2 [2166: 207] * en raison de l'application Mettre fin exception uncaught 'NSInvalidArgumentException', raison: '- [__ NSArrayI removeObjectAtIndex:]: sélecteur non reconnu envoyé à l'instance 0x5e3b9a0'

+0

Afficher où vous créez playerArray. – bbum

Répondre

19

Il semble que votre tableau ne soit pas réellement un NSMutableArray. Vérifiez-le en vous connectant le nom de classe:

NSLog(NSStringFromClass([playerArray class])); 

ou, consultez:

if ([playerArray isKindOfClass: [NSMutableArray class]]) 
{ 
... 
} 
+0

Après l'exécution de NSLog, ci-dessus, la classe est: __NSArrayI ?? Quelqu'un peut-il expliquer s'il vous plaît comment cela peut être? Dans l'interface @ j'ai "NSMutableArray * playerArray;" et "@property (nonatomic, retain) NSMutableArray * playerArray;". – PeterK

+0

... et comment puis-je résoudre ce problème? – PeterK

+2

Eh bien, comment l'as-tu instancié? Regardez là. – d11wtq

9

Le message d'erreur indique que playerArray est une instance de NSArray, pas NSMutableArray. Vous ne pouvez pas appeler removeObjectAtIndex sur une instance de NSArray.

-[__NSArrayI removeObjectAtIndex:]: unrecognized selector sent to instance 
Questions connexes