iOS比较按钮标题到字符串

时间:2011-03-11 07:41:53

标签: objective-c string ios

我正在学习如何编码,感谢您对这个简单问题的耐心。

这是我的代码:

- (IBAction)buttonWasPressed:(id)sender {  
    NSString *buttonName = [sender titleForState:UIControlStateNormal];  
    if (buttonName == @"Button 1") {  
        do something 
    }

如何将作为发送者传递的按钮的标题与字符串进行比较?

非常感谢你的帮助。

4 个答案:

答案 0 :(得分:9)

在objective-c中你无法使用“==”来比较字符串, 相反,您应该使用NSString类中的方法isEqualToString来比较字符串与另一个字符串。

if ([buttonName isEqualToString: @"Button 1"]) {
  // do something
}

答案 1 :(得分:3)

使用-isEqualToString方法:

if ([buttonName isEqualToString:@"Button 1"])
   ...

使用==比较ponters,而不是它们包含的实际字符串值

答案 2 :(得分:1)

比较字符串的更好方法是:

NSString *string1 = <your string>;
NSString *string2 = <your string>;

if ([string1 caseInsensitiveCompare:string2] == NSOrderedSame) {
    //strings are same
} else {
    //strings are not same
}

答案 3 :(得分:0)

我发现使用Xcode 8.3.1,有必要这样做:

if([self.myButton isEqual: @"My text"]) {
//do this
}