Como codificar cálculos no Xcode usando o selecionador de 2 componentes e entrada de campo de texto

Eu estou tentando codificar uma tela de iPhone / iPad que produz um valor com base no que é inserido em um campo de texto e o que é selecionado em um selecionador de 2 componentes. Eu tenho o básico feito, até o ponto de ter os dados inseridos / selecionados aparecem, mas curto de executar o cálculo. Eu pesquisei todos os recursos que encontrei e fiz uso de todo o código relevante que encontrei, como você verá abaixo.

Especificamente, desejo permitir que o usuário insira um valor em dólar em um campo de texto, selecione qual frequência de pagamento (por hora, mensal, etc.), selecione a frequência de pagamento à qual deseja convertê-lo e veja os resultados no outro campo de texto ao tocar em um botão. Outro botão limparia os campos, para que eles possam converter outro valor. Mais especificamente, se eles quisessem ver qual seria seu salário semanal de US $ 310, eles digitariam "310" no primeiro campo, selecionariam "Weekly" no primeiro componente do selecionador, selecionariam "SemiMonthly" no outro componente e Calcular botão O outro campo mostraria $ 671,67 (310 * 52/24 = 671,67).

Apenas no caso de ser relevante, o Controlador de Vista em que isso ocorre é vinculado a um Controlador de Navegação como uma das 5 telas anexadas a uma das 6 telas anexadas ao Controlador de Visualização principal (são necessários alguns toques para chegar a essa tela) .

Até agora, posso inserir números nos dois campos de texto e posso girar os dois componentes do selecionador e fazer suas seleções aparecerem nos rótulos, mas é aí que estou preso. Não consigo encontrar exemplos de como implementá-lo.

Aqui está o meu código ViewController.h:

    @interface PayFrequencyViewController : UIViewController
<UIPickerViewDelegate, UIPickerViewDataSource>
{
    UIPickerView *payPicker;
    NSArray *fromArray;
    NSArray *toArray;
    NSArray *fromValues;
    NSArray *toValues;
    UILabel *resultText;
    UITextField *inputText;
}
@property (strong, nonatomic) IBOutlet UIPickerView *payPicker;
@property (strong, nonatomic) NSArray *fromArray;
@property (strong, nonatomic) NSArray *toArray;
@property (strong, nonatomic) NSArray *fromValues;
@property (strong, nonatomic) NSArray *toValues;
@property (strong, nonatomic) IBOutlet UILabel *resultText;
@property (strong, nonatomic) IBOutlet UITextField *inputText;
- (IBAction)Convert:(id)sender;
- (IBAction)Clear:(id)sender;
@end

E aqui está o meu código ViewController.m:

    @interface PayFrequencyViewController ()

@end

@implementation PayFrequencyViewController
@synthesize payPicker;
@synthesize toArray;
@synthesize fromArray;
@synthesize toValues;
@synthesize fromValues;
@synthesize resultText;
@synthesize inputText;

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)viewDidLoad
{
    self.fromArray = [[NSArray alloc] initWithObjects:
                      @"Annual", @"Monthly", @"48/Year", @"SemiMonthly", @"BiWeekly", @"Weekly", @"Hourly", nil];

    self.fromValues = [[NSArray alloc] initWithObjects: 
                       [NSNumber numberWithFloat:1.0],
                       [NSNumber numberWithFloat:12.0], 
                       [NSNumber numberWithFloat:48.0],
                       [NSNumber numberWithFloat:24.0], 
                       [NSNumber numberWithFloat:26.0],
                       [NSNumber numberWithFloat:52.0], 
                       [NSNumber numberWithFloat:2080.0], nil];


    self.toArray = [[NSArray alloc] initWithObjects:
                      @"Annual", @"Monthly", @"48/Year", @"SemiMonthly", @"BiWeekly", @"Weekly", @"Hourly", nil];

    self.toValues = [[NSArray alloc] initWithObjects: 
                     [NSNumber numberWithFloat:1.0],
                     [NSNumber numberWithFloat:12.0], 
                     [NSNumber numberWithFloat:48.0],
                     [NSNumber numberWithFloat:24.0], 
                     [NSNumber numberWithFloat:26.0],
                     [NSNumber numberWithFloat:52.0], 
                     [NSNumber numberWithFloat:2080.0], nil];


    [super viewDidLoad];
    inputText.keyboardType = UIKeyboardTypeDecimalPad;
    // Do any additional setup after loading the view.
}

- (void)viewDidUnload
{
    [super viewDidUnload];
    // Release any retained subviews of the main view.
    // e.g. self.myOutlet = nil;
    self.toArray = nil;
    self.fromArray = nil;
    self.resultText = nil;
    self.inputText = nil;
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return YES;
}

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {

    return 2;
}

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {

    if (component == 0) {
        return [fromArray count];
    }
    return [toArray count];
}

- (NSString *)pickerView:(UIPickerView *)pickerView
             titleForRow:(NSInteger)row
            forComponent:(NSInteger)component
{
    if (component == 0) {
        return [fromArray objectAtIndex:row];
    }
    return [toArray objectAtIndex:row];
} 

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

//- (IBAction)Convert:(id)sender {

//    float valuein = [[fromValues text] floatValue];
//    float valueout = [[toValues text] floatValue];
//    [resultText setText:[NSString stringWithFormat:@"%6.2f", result]];
//    [inputText resignFirstResponder];

    float valuein = [[fromValues objectAtIndex:row] floatValue];
    float valueout = [[toValues objectAtIndex:row] floatValue];
    float input = [inputText.text floatValue];
    float result = input * valuein / valueout;
    NSString *resultString = [[NSString alloc] initWithFormat: @"$ %@", [toArray objectAtIndex:row]];
}

- (IBAction)Clear:(id)sender {
    inputText.text = @"";
    resultText.text = @"";
}

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{
    [inputText resignFirstResponder];
}

@end

Minhas desculpas pelo longo post e pelo código formatado incorretamente. Espero que alguém possa me dizer qual código é desnecessário e o que é necessário para concluir essa tarefa.

questionAnswers(0)

yourAnswerToTheQuestion