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
我不确定是否有我遗漏的东西。我只想从两个UITextField中获取text
并添加它们。然后将它们输出到控制台。谢谢你的帮助!
答案 0 :(得分:4)
在您的示例代码中,您尚未初始化num1
和num2
。所以(如果你使用ARC,这是新项目的默认值),那些变量初始化为nil。
在Objective-C中,您可以将任何消息(如stringValue
或intValue
)发送到nil,它将返回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);
答案 1 :(得分: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
答案 2 :(得分:0)
如果您有两个文字字段:field1
和field2
:
int sum = [field1.text intValue] + [field2.text intValue];
或者如果你想要总和作为NSNumber
:
NSNumber* sum = [NSNumber numberWithInt:[field1.text intValue] + [field2.text intValue]];
答案 3 :(得分:0)
为什么不像这样设置
NSNumber *num1;
NSNumber *num2;
self.addNumberOfRoundsText.text = [NSString stringWithFormat:@"%@",num1];
self.numberOfRoundsText.text = [NSString stringWithFormat:@"%@",num2];
NSNumber *sum = num1 + num2 ;
NSLog(@"%@", sum );