我有两个变量,从1到100.我有两个按钮。我想要一个按钮在屏幕上打印两个变量,我想要一个按钮来打印两个变量的总和。我该怎么做呢?我的代码是:
- (IBAction)addition:(id)sender;
{
int x = arc4random() %100;
int y = arc4random() %100;
[label1 setText: [NSString stringWithFormat:@"%i", x]];
[label2 setText: [NSString stringWithFormat:@"%i", y]];
}
- (IBAction)answer:(id)sender;
{
int z;
z = x+y;
answer.text = [[NSString alloc] initWithFormat:@"%i", z];
}
答案 0 :(得分:1)
如果您提出相关课程的x
和y
个实例变量,您应该得到您想要的内容。
在调用addition:
后,这些变量不存在,而上述代码甚至无法编译......除非你碰巧有x
和y
已经在类中声明为ivars,addition:
中的版本只是遮蔽它们。
在任何一种情况下,请从int
中的x
和y
移除addition:
。
答案 1 :(得分:1)
通过现在配置代码的方式,您必须在接口文件(“int
文件”)中声明.h
值。它看起来像这个伪代码:
@interface Class {
int x;
int y;
UILabel *label1;
UILabel *label2;
UILabel *answer;
}
-(IBAction)...
然后在您的.m
文件中,您只需保持原样(只需删除int
和x
的{{1}}声明)并连接这些功能和Interface Builder中的出口。
答案 2 :(得分:0)
我猜你的答案按钮可能有问题...但是这也应该有效...但如果没有,那么试试下面的代码,这肯定会有效。
在此您应声明x
& y
文件中的.h
变量。并且不要再声明按钮点击。
- (IBAction)answer:(id)sender;
{
int z;
z = x+y;
answer.text = [NSString stringWithFormat:@"%i", z];
}
如果您没有这个问题,那么我建议您指明您所面临的确切问题..
答案 3 :(得分:0)
假设您确保label1和label2保持整数值,您的答案方法可能就像
- (IBAction)answer:(id)sender;
{
[answer setText:[NSString stringWithFormat:@"%i",[[label1 text] intValue] + [[label2 text] intValue]]];
}