iOS:将按下的按钮与标签文本进行比较

时间:2012-01-29 00:09:45

标签: objective-c ios syntax

我有一个简单的功能,看看触摸的按钮是否与标签的文本相同:

- (IBAction) checkIt:(id)sender{
    UIButton *button = (UIButton *)sender;

    if(button.getText() == randomNumber.text){
        randomNumber.text = @"Nice.";
    }
    else{
        randomNumber.text = @"Try Again";
    }
}

其中“randomNumber”是标签。但是,这不起作用。我是Cocoa / Objective-C初学者,我不确定正确的语法是什么。

我愿意接受您希望/认为对我这样的白痴有帮助的任何其他信息。 :)

四个按钮映射到此功能:牛,猪,青蛙,绵羊。 “randomNumber”标签是从字符串数组“Cow,Frog”中随机化的......

1 个答案:

答案 0 :(得分:1)

if(button.getText() == randomNumber.text)

这将永远不会起作用,因为这不是比较字符串的正确方法。 '=='仅比较内存地址,NSString方法isEqualToString实际上比较了字符串。

另外,我会使用属性titleLabel.text获取按钮文本。所以,我会这样尝试:

- (IBAction) checkIt:(id)sender{
    UIButton *button = (UIButton *)sender;

    if([button.titleLabel.text isEqualToString:randomNumber.text]){
        randomNumber.text = @"Nice.";
    }
    else{
        randomNumber.text = @"Try Again";
    }
}