0

これを試しています:

    NSNumber *num1;
    NSNumber *num2;
    self.addNumberOfRoundsText.text = [num1 stringValue];
    self.numberOfRoundsText.text = [num2 stringValue];
    NSNumber *sum = [NSNumber numberWithInt:([num1 intValue] + [num2 intValue])];
    NSLog(@"%@", [sum stringValue]);

何らかの理由で、0何か不足しているかどうかわからないという出力がコンソールに表示され続けます。text2 つの UITextField から取得して追加したいだけです。次に、それらをコンソールに出力します。お手伝いありがとう!

4

4 に答える 4

4

サンプルコードでは、とを初期化していnum1ないnum2。したがって(新しいプロジェクトのデフォルトであるARCを使用している場合)、これらの変数はnilに初期化されます。

stringValueObjective-Cでは、任意のメッセージ(または)をnilに送信でき、intValue0またはnilが返されます。それで:

NSNumber *num1; // initialized to nil by ARC
NSNumber *num2; // initialized to nil by ARC

// This sets self.addNumberOfRoundsText.text to nil.
self.addNumberOfRoundsText.text = [num1 stringValue];

// This sets self.numberOfRoundsText.text to nil.
self.numberOfRoundsText.text = [num2 stringValue];

// This gets 0 for [num1 intValue] and 0 for [num2 intValue], which add up
// to 0, so sum is an NSNumber representing zero.
NSNumber *sum = [NSNumber numberWithInt:([num1 intValue] + [num2 intValue])];
NSLog(@"%@", [sum stringValue]);

あなたが実際に何をしようとしているのかわかりません。2つのテキストフィールドがあり、各テキストフィールドに数値が含まれていて、それらの2つの数値を合計したい場合があります。それがあなたがしたいことなら、これを試してください:

int n1 = self.addNumberOfRoundsText.text.intValue;
int n2 = self.numberOfRoundsText.text.intValue;
int sum = n1 + n2;
NSLog(@"sum = %d", sum);
于 2012-11-13T06:19:57.580 に答える
0

UITextFieldこれが、 1つのシングルに2つの値を追加するように要求したコードです。String

 NSString* finalSTring;

  finalSTring =[NSString stringWithFormat:@"%@%@",textfield1.text,textField2.text];
   //textField1 and Textfield2 is instance of TextField.

   NSLog(@"%@",finalSTring);//here you have new Single String
于 2012-11-13T06:17:56.730 に答える
0

2つのテキストフィールドがある場合:field1およびfield2

int sum = [field1.text intValue] + [field2.text intValue];

NSNumberまたは、合計を:として必要な場合

NSNumber* sum = [NSNumber numberWithInt:[field1.text intValue] + [field2.text intValue]];
于 2012-11-13T06:19:59.643 に答える
0

なぜこのように設定しないのですか

NSNumber *num1;
NSNumber *num2;
self.addNumberOfRoundsText.text = [NSString stringWithFormat:@"%@",num1];
self.numberOfRoundsText.text = [NSString stringWithFormat:@"%@",num2];

NSNumber *sum = num1 + num2 ;
NSLog(@"%@", sum );
于 2012-11-13T08:24:00.010 に答える