在Objective-C中使用带有按钮名称的If语句(Cocoa / iPhone SDK)

时间:2010-07-15 10:32:49

标签: objective-c nsstring

我必须在iPhone应用程序中实现一个小功能,并且想知道是否有办法使用 if 语句,其中条件是按钮的字符串。

以下是相关代码示例:

- (IBAction)someMethod:(id)sender{  
UIButton *button = (UIButton *)sender;
if ( button.titleLabel.text == “SomeText” )
{
   //do something
}
else
{
   // some other thing
}

现在我无法使它工作,因为我认为我在button.titleLabel.text中使用了错误的代码。我甚至试过@“SomeText”),但我总是在//其他东西。

我做错了什么?

感谢。

1 个答案:

答案 0 :(得分:1)

您目前正在做的是比较两个指向对象的指针,对象button.titleLabel.text@"SomeText"。由于两者都指向内存中的不同位置,因此比较将返回NO

但是,如果您要比较两个NSString个对象的,则可以使用[button.titleLabel.text isEqualToString:@"SomeText"]

另请注意,"SomeText"@"SomeText"不同!第一个是常规C字符串,其中最后一个是Cocoa NSString对象。