私はまだコンバーター アプリに取り組んでいますが、またしても問題に遭遇しました。
テキストフィールドですべての編集を行って計算コードをトリガーしようとしている間、何も起こりません。これはatmで起こることです:
PickerWheel で何かを変更するまで、計算はトリガーされません。それが私が最初に作成した方法であるため、コードのせいではありません。
これを修正しようとしているときに、友人から助けを得て、次のコードを追加して機能させました。
初め、
- (void)textFieldChanged:(UITextField *)textField
{
[self updateConversionLabel];
}
.m の冒頭、および .h の次の部分 (私はその 2 つを知っていますが、おそらく間違っていますが、両方を試してみたかったのです。)
-(IBAction)textFieldChanged:(UITextField *)textField;
-(void)textFieldChanged:(UITextField *)textField;
計算は次のとおりです。
#pragma mark -
#pragma mark PickerView Delegate
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
[self updateConversionLabel];
}
- (void)updateConversionLabel
{
float convertFrom = [[_convertRates objectAtIndex:[picker selectedRowInComponent:0]] floatValue];
float convertTo = [[_convertRates objectAtIndex:[picker selectedRowInComponent:1]] floatValue];
float input = [inputText.text floatValue];
float to = convertTo;
float from = convertFrom;
float convertValue = input;
float relative = to / from;
float result = relative * convertValue;
NSString *convertFromName = [_convertFrom objectAtIndex:[picker selectedRowInComponent:0]];
NSString *convertToName = [_convertFrom objectAtIndex:[picker selectedRowInComponent:1]];
NSString *resultString = [[NSString alloc]initWithFormat:
@" %.4f %@",result, convertToName];
resultLabel.text = resultString;
NSString *formelString = [[NSString alloc]initWithFormat:
@" %.4f %@=", convertValue, convertFromName];
formelLabel.text = formelString;
}
エラーはインターフェースビルダーにある可能性があると考えたので、ここに接続があります
これに対する簡単な解決策はありますか?:)