0

大丈夫。私のアプリにはテキスト フィールドがあり、その横に 2 つのボタン (プラス ボタンとイコール ボタン) があります。「プラス」ボタンを押すと、textField 内のテキストが取得され、「+」が追加されます。以下のコード:

- (IBAction)plusButtonPressed:(id)sender {
    NSString *plusString = @"+";
    NSString *inputString = carbsField.text;
    NSString *outputString = [NSString stringWithFormat:@"%@%@",inputString,plusString];
    NSLog(@"%@",outputString);
    [carbsField setText:outputString];
}

私は最終的にそれをよりインテリジェントにして、2つのプラスなどを置くことができないようにします. とにかく、「23 + 54 + 2.2」のようなテキストフィールドにあるものを等号ボタンに取り、それらの値の合計を取得する必要があります。整数を取得して文字列にする方法を知っていると思いますが、それを確認したいと思います:

int value = 56;
NSString *string = @"%d",value;

誰かがこれを行う方法を教えてくれれば、とても感謝しています。ありがとう。

EDIT 現時点では、何も試していません。これは、どこから始めればよいかわからないためです。やるべきことはわかっているが、それを実行する方法がわからない。「+」に変換する前にすべての文字を取得しint、それらの値の配列の合計を取得する必要があると思います。

編集#2 私は今使用しています:

- (IBAction)equalButtonPressed:(id)sender {
    NSString *inputString = carbsField.text;
    NSArray *numbers = [inputString componentsSeparatedByString:@"+"];
    int sum = 0;
    for (NSString *number in numbers) {
        sum += [number intValue];
    }
    NSString *theSum = [NSString stringWithFormat:@"%d",sum];
    NSLog(@"%@",theSum);
}

ただし、何も記録されません。私は何を間違えましたか?

4

2 に答える 2