2013-08-29 3 views
9

Non sono stato in grado di capire come convertire un NSString in un int. Sto cercando di convertire ASCII in testo, ma per farlo ho bisogno di convertire una stringa in un int.Converti stringa in int-objective c

Trovo davvero strano che questo non sia dovunque online o in overflow dello stack. Sono sicuro di non essere quello online che ha bisogno di questo.

Grazie in anticipo per l'aiuto.

P.S. Se questo aiuta ecco il codice che sto usando per convertire in ASCII:

+ (NSString *) decodeText:(NSString *)text { 
    NSArray * asciiCode = [text componentsSeparatedByString:@"|"]; 
    int i = 0; 
    NSMutableString *decoded; 

    while (i < ([asciiCode count]-1)) { 

     NSString *toCode = [asciiCode objectAtIndex:i]; 
     int codeInt = toCode; 
     NSString *decode = [NSString stringWithFormat:@"%c", codeInt]; 
     [decoded appendString:decode]; 

    } 

    return decoded; 
} 
+0

Ho esaminato un sacco di domande, ma non sono riuscito a trovare una risposta. Ecco perché ho chiesto. – DonyorM

risposta

32

analizzare la stringa a intero si dovrebbe fare:

NSString *a = @"123abc"; 
NSInteger b = [a integerValue]; 
+0

Puoi farlo anche con un int. Grazie dell'aiuto. – DonyorM

+0

gr8 ... goditi la codifica –

5

Forse frazionata off-topic, ma per la conversione in ASCII si potrebbe utilizzare:

[NSString dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES] 

O nel tuo esempio:

return [text dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; 

Ciò restituirà un NSData che è possibile scorrere per ottenere una rappresentazione di stringa di ASCII (s per il metodo) se questo è ciò che si richiede.

Il motivo dell'utilizzo di questo approccio è dovuto al fatto che NSString è in grado di memorizzare caratteri non ASCII, ovviamente si rischia di perdere i dettagli, ma l'attivazione del flag allowLossyConversion tenterà di risolverli. Come da the Apple documentation:

Per esempio, nella conversione di un personaggio da NSUnicodeStringEncoding a NSASCIIStringEncoding, il carattere ‘A’ diventa ‘A’, perdendo il accento.

+0

quindi dove aggiungere la stringa che voglio convertire? – DonyorM

+0

@DonyorM dataUsingEncoding ... è un metodo che si chiama * su * la stringa. (Aggiornerò la mia risposta.) –

+0

Grazie, scusa alcune funzioni iniziano con "NSString" Per lo più sono un noob. – DonyorM