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我不确定是否有我遗漏的东西。我只想text从两个 UITextField 中获取并添加它们。然后将它们输出到控制台。感谢您的帮助!

4

4 回答 4

4

在您的示例代码中,您尚未初始化num1num2. 因此(如果您使用 ARC,这是新项目的默认设置),这些变量将被初始化为 nil。

在 Objective-C 中,您可以向 nil 发送任何消息(如stringValueintValue),它会返回 0 或 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]);

我不确定你实际上想做什么。也许您有两个文本字段,每个文本字段都包含一个数字,您想将这两个数字相加。如果这就是你想要做的,试试这个:

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值添加到一个中的代码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

如果您有两个文本字段:field1field2

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

或者,如果您想要 sum 作为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 回答