2012-03-08 10 views
14

Próbuję pobrać wartość z UIPicker, który jest wypełniony liczbami okrągłymi, liczbami całkowitymi wyciągniętymi i NSMutableArray. Próbuję przekonwertować wyciągnięte wartości do rzeczywistej int.Xcode iOS: Konwertuj int na NSString

Próbowałem to w .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); 

} 

pojawia się błąd w pickednumber = linia: Niezgodny wskaźnik do liczby całkowitej konwersji z przypisaniem do 'int' z 'id'. Co robię źle?

Wiadomość została edytowana przez Sounddesigner na 3/8/12 3:05 PM w

+7

Pytania i tytuł wydają się nie pasować. – newenglander

+0

Te dni to po prostu ... 'NSString * str = [@ (numer) stringValue];' to proste http://stackoverflow.com/a/21258535/294884 – Fattie

Odpowiedz

96

NSString szczyci się wygodą metodę zdobycia wartość całkowitą tekstu

zrób to

pickednumber = [numbers intValue]; 

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

Aby przekonwertować liczbę całkowitą do NSString:

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

Aby przekonwertować NSString int:

int number = [string integerValue];