2012-03-06 11 views
16

Mi viene questo arresto, ma nel mio codice sto usando una stringa. Ho lavorato su questo pezzo di codice per 2 ore e non riesco a vedere cosa mi manca! Qualche idea?- [__ NSCFNumber isEqualToString] error

NSString *codeR = [NSString stringWithFormat:@"%@", [[object objectForKey:@"code"] stringValue]]; 

    if([codeR isEqualToString:@"200"]) 

Errore:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFNumber isEqualToString:]: unrecognized selector sent to instance 0x181cf0'

sarei molto grato di ingresso, non è molto chiaro l'inferno fuori di me!

Grazie.

+0

un po 'più codice sarebbe bello – Novarg

+5

Ci deve essere del codice tra queste due linee. Altrimenti non si schianterebbe. – Costique

+0

Sì, per favore pubblica qui TUTTE le linee tra le due linee di codice che hai postato sopra. – MrTJ

risposta

29

Sbarazzarsi di ridondanza sciocca, vedere cosa succede.

NSString *codeR = [[object objectForKey:@"code"] stringValue]; 
// mysterious missing code 
if ([coreR isEqualToString:@"200"]) // etc 

Inoltre, sei sicuro che l'errore viene generato dalla dichiarazione if hai postato? Potrebbe venire da altrove.

+0

Sembra che l'abbia risolto. Stava sicuramente arrivando dal se, cambiando i test di proposizione/punti di interruzione, tutti puntavano a questo. Grazie :) – NinjaLikesCheez

+0

aggiungendo [[] stringValue] il casting dei tipi ha risolto il problema per me. – Prerna

+0

Grazie mille @psoft. Aiutami a risolvere anche il mio problema di analisi JSON :) – Supertecnoboff

-1
NSString *codeR = [[object objectForKey:@"code"] stringValue]; 

if ([codeR isEqualToString:@"200"]) 
{ 
// Do stuff... 
}