所以,这很简单,但我不知道该怎么做。要从按钮获取标题,您可以使用:
NSString *title = [sender titleForState:UIControlStateNormal];
但是,有没有办法从按钮中获取其他信息,例如“标签”或“提示”?
如果没有,我希望能够在按下不同的按钮时执行不同的操作。所以,有一个“添加1”按钮,一个“添加2”按钮等,我同样的“动作”做一些略有不同的事情。这是通过“If”语句解决的,但我不确定如何进行比较。 (假设按钮标题是“WIN”):
if (title == @"WIN")
不起作用,我该怎么做比较?
(我也尝试过:
NSString *compare = [[NSString alloc] initWithFormat:@"WIN"];
if (title == compare)
{
do something
}
)
答案 0 :(得分:4)
您应该始终使用isEqualToString比较字符串:
if ([title isEqualToString:@"WIN"])
有时使用==运算符正确比较字符串,例如比较常量字符串时,不应在Objective-C(或Java)中使用==进行字符串比较。
如果使用==与字符串进行比较,则会比较它们的内存地址。如果要将字符串设置为某个常量,那么==将为真。如果它们是相同的字符串,但是内存地址不同,则==将为false。
在像Python这样的语言中,==会超载,所以你得到了你所期望的行为。
答案 1 :(得分:1)
您可以在紧要关头使用的另一个选项是设置按钮的tag
属性(在IB或代码中),然后检查
if (sender.tag == 69) {//one button code} else {other button code}