-3

Xcode で開いている単純な iPhone プロジェクトがあります。ストーリーボードファイルには、次のビューコントローラーがあります。2つのテキストフィールド、1つのラベル、1つの丸い長方形ボタン

私がやろうとしているのは次のとおりです。ユーザーにフィールド A に任意の数値を入力してから、フィールド B に同じ数値を入力してもらいます。次に、[送信] ボタンが押されたら、アプリに 2 つの値を追加させたいと思います。

これまでのところ、これは私が持っているコードですが、ビルド時にエラーが発生しているため、現在スタックしています。

私のヘッダーファイル:

#import <UIKit/UIKit.h>



@interface ADDViewController : UIViewController



@property (copy,nonatomic) NSString *valueA;

@property (copy,nonatomic) NSString *valueB;



@end

私の実装ファイル:

#import "ADDViewController.h"



@interface ADDViewController ()

- (IBAction)submitButton:(id)sender;

@property (weak, nonatomic) IBOutlet UITextField *numberA;

@property (weak, nonatomic) IBOutlet UITextField *numberB;

@property (weak, nonatomic) IBOutlet UILabel *answerLabel;



@end



@implementation ADDViewController



- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil

{

    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];

    if (self) {

        // Custom initialization

    }

    return self;

}



- (void)viewDidLoad

{

    [super viewDidLoad];

     // Do any additional setup after loading the view.

}



- (void)didReceiveMemoryWarning

{

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}



- (IBAction)submitButton:(id)sender {



    self.valueA = self.numberA.text;

    self.valueB = self.numberB.text;



// THE FOLLOWING IS WHERE I AM CURRENTLY GETTING AN ERROR WITH XCODE: 
// XCODE SAYS : INVALID OPERANDS TO BINARY EXPRESSION ('NSSTRING *' AND 'NSSTRING *')

    NSString * total = self.valueA + self.valueB;

}

@end

そして、これは私のストーリー ボード ファイルのスクリーン ショットです。

http://i43.tinypic.com/352q98i.jpg

前もって感謝します!

4

1 に答える 1

2

文字列を数値に変換し (例:intValueまたはfloatValueメソッドを使用)、これら 2 つの数値を加算してから、結果sumを文字列に戻す必要があります。文字列自体に対して数値演算を実行することはできません。

したがって、次のようなことができます。

CGFloat a = [self.numberA.text floatValue];
CGFloat b = [self.numberB.text floatValue];
CGFloat sum = a + b;
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
formatter.numberStyle = NSNumberFormatterDecimalStyle;
self.answerLabel.text = [formatter stringFromNumber:@(sum)];
于 2013-07-05T17:57:25.503 に答える