我有一个简单的功能,看看触摸的按钮是否与标签的文本相同:
- (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”中随机化的......
答案 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";
}
}