Obj-C中两个变量的总和

时间:2011-10-09 04:28:54

标签: objective-c

我有两个变量,从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];
}

4 个答案:

答案 0 :(得分:1)

如果您提出相关课程的xy个实例变量,您应该得到您想要的内容。

在调用addition:后,这些变量不存在,而上述代码甚至无法编译......除非你碰巧有xy已经在类中声明为ivars,addition:中的版本只是遮蔽它们。

在任何一种情况下,请从int中的xy移除addition:

答案 1 :(得分:1)

通过现在配置代码的方式,您必须在接口文件(“int文件”)中声明.h值。它看起来像这个伪代码:

@interface Class {
    int x;
    int y;

    UILabel *label1;
    UILabel *label2;
    UILabel *answer;
}

-(IBAction)...

然后在您的.m文件中,您只需保持原样(只需删除intx的{​​{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]]];
}