2012-03-08 11 views
14

Sto provando ad acquisire il valore da un UIPicker che è popolato da numeri tondi, numeri interi estratti da NSMutableArray. Sto provando a convertire i valori tirati in un int reale.Xcode iOS: Converti int in NSString

Ho provato questo nel .m:

int pickednumber; 


...... 

-(void) pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{ 


NSString *numbers = [arrayNumbers objectAtIndex:[pickerView selectedRowInComponent:0]]; 

pickednumber = [NSString stringWithFormat:@"%d", numbers]; 

NSLog(@"Picked number %@ ", numbers); 

} 

ottengo l'errore nel pickednumber = linea: puntatore a intero incompatibile conversione assegnando a 'int' da 'id'. Cosa sto sbagliando?

messaggio è stato curato da SoundDesigner il 3/8/12 alle 15:05

+7

Domanda e titolo non sembrano corrispondere. – newenglander

+0

In questi giorni è solo ... 'NSString * str = [@ (numero) stringValue];' è così semplice http://stackoverflow.com/a/21258535/294884 – Fattie

risposta

96

NSString ha una comodità metodo per ottenere valore intero di un testo

fare questo

pickednumber = [numbers intValue]; 

NSLog(@"Picked number %d ", numbers); // not %@ ..%@ is for objects .. not int 
3

Per convertire intero a NSString:

NSString *string = [NSString stringWithFormat:@"%i",integerNumber]; 

Per convertire NSString a int:

int number = [string integerValue];