iOS比较button标题string

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

这是我的代码:

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

如何比较作为发件人传递给button的button的标题?

非常感谢您的帮助。

在Objective-C中,不能使用“==”来比较string,而应该使用NSString类中的方法isEqualToString来比较string与另一个string。

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

使用-isEqualToString方法:

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

使用==你比较ponters,而不是它们包含的实际string值

比较string的更好的方法是:

 NSString *string1 = <your string>; NSString *string2 = <your string>; if ([string1 caseInsensitiveCompare:string2] == NSOrderedSame) { //strings are same } else { //strings are not same } 

我发现在Xcode 8.3.1中,有必要这样做:

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