2009-09-22 12 views
24

Ho un NSDictionary che è stato inizializzato con un plist che, tra le altre cose, contiene count seguito da 32 e voglio ottenere il valore per count.Come estrarre un numero intero da un NSDictionary e inserirlo in un numero intero?

Come?

so come ottenerlo in un oggetto tramite

[dictionaryObjectName objectForKey:@"count"] 

Ma per me, il valore sto ottenendo non è un oggetto.

Se devo specificare un oggetto, quale sarebbe il migliore da usare (FYI il valore sarà sempre senza segno) e ho bisogno di inserirlo in un vero int.

devo fare qualcosa di simile

NSNumber *num = [dictionaryObjectName objectForKey:@"count"]; 
int theValue = [num intValue]; 
[num release]; 

è il rilascio su num una buona cosa da fare dal momento che questo per un iPhone senza garbage collector?

+0

int theValue = [ num intValue]; // è un 'int' AND NSInteger theValue = [num numero intero]; // è un NSInteger –

risposta

24

Sì, lo estrai come NSNumber, quindi prendi lo int(eger)Value ma non è necessario rilasciarlo. Non hai conservato, assegnato o copiato il numero, quindi non devi preoccuparti di rilasciarlo.

+0

Grazie, Dave !!! – Dale

27

e la forma più bello è:

int theValue = [[dictionaryObjectName objectForKey:@"count"] intValue]; 

EDIT

Poiché vedo che la gente ancora arrivano a questa pagina, cerchiamo di chiarire che in questi giorni è sufficiente fare

int theValue = [dictionaryObjectName[@"count"] intValue]; 
Problemi correlati