#pragma mark - #pragma mark PickerView Data Source - (NSInteger)numberOfComponentsInPickerView: (UIPickerView *)pickerView { return 2; } - (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component { if (component == 0) { return [_convertFrom count]; } return [_convertTo count]; } - (NSString *) pickerView: (UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component { if (component == 0) { return [_convertFrom objectAtIndex:row]; } return [_convertTo objectAtIndex:row]; } #pragma mark - #pragma mark PickerView Delegate -(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component { [self updateConversionLabel]; } - (void)updateConversionLabel { double convertFrom = [[_convertRates objectAtIndex:[picker selectedRowInComponent:0]] doubleValue]; double convertTo = [[_convertRates objectAtIndex:[picker selectedRowInComponent:1]] doubleValue]; NSNumberFormatter *fmt = [NSNumberFormatter new]; double input = [fmt numberFromString:inputText.text].doubleValue; double to = convertTo; double from = convertFrom; double convertValue = input; double relative = to / from; double result = relative * convertValue; NSString *convertFromName = [_convertFrom objectAtIndex:[picker selectedRowInComponent:0]]; NSString *convertToName = [_convertFrom objectAtIndex:[picker selectedRowInComponent:1]]; NSNumber *inputNumber = [[NSNumber alloc ]initWithDouble:convertValue]; NSNumber *resultNumber = [[NSNumber alloc]initWithDouble:result]; NSNumberFormatter *formatterResult = [[NSNumberFormatter alloc] init]; formatterResult.numberStyle = NSNumberFormatterDecimalStyle; NSNumberFormatter *formatterInput = [[NSNumberFormatter alloc] init]; formatterInput.numberStyle = NSNumberFormatterDecimalStyle; [formatterResult setNumberStyle:NSNumberFormatterDecimalStyle]; [formatterResult setMaximumFractionDigits:6]; [formatterInput setNumberStyle:NSNumberFormatterDecimalStyle]; [formatterInput setMaximumFractionDigits:6]; NSString *formattedResultString = [formatterResult stringFromNumber:(NSNumber*)resultNumber]; NSString *formattedInputString = [formatterInput stringFromNumber:(NSNumber*)inputNumber]; NSString *formelString = [[NSString alloc]initWithFormat: @" %@ %@ =", formattedInputString, convertFromName]; formelLabel.text = formelString; NSString *resultString = [[NSString alloc]initWithFormat: @" %@ %@",formattedResultString, convertToName]; resultLabel.text = resultString; }