0
NSString *title=btn.titleLabel.text; 

NSLog(@"Title=%@",title); 

if(title == @"SelectCategory") 
{
    //alert    
}
else
{
    //somecode
}

我想检查 UIButton 的标题。但是我的代码总是执行 else 语句。

这段代码有什么错误?

4

8 回答 8

4

永远不要使用 '==' 比较两个字符串,使用isEqualToString

if ([title isEqualToString:@"SelectCategory"]){
   //alert
}else{
   //somecode
}
于 2012-04-30T11:41:24.397 回答
3

试试这条线:

If([btn.titleLabel.text isEqualToString:@"Your text"])
{
//do this
}
else
{
//do this
}
于 2012-04-30T11:43:02.853 回答
3
NSString *title=[btn currentTitle];

if([title isEqualToString:@"SelectCategory"])
{
  NSLog(@"Equal");
}
于 2012-04-30T12:00:09.120 回答
1

采用

if ([title isEqualToString:@"SelectCategory"]) {}

而不是==运算符。

于 2012-04-30T11:41:14.577 回答
0

使用 bun.title is Equalto:@"" 它会为你工作。欢迎

于 2012-04-30T11:42:22.143 回答
0

永远不要使用==比较字符串,因为==您正在检查一个字符串的指针是否与另一个字符串相同,这不是您想要的。

于 2012-04-30T11:47:28.877 回答
0

试试这个

UIButton *YourButton=btn;    

if([[YourButton titleForState:UIControlStateNormal] isEqualToString:@"SelectCategory"])
{
        // normal
}
else if([[YourButton titleForState:UIControlStateHighlighted] isEqualToString:@"SelectCategory"])
{
        //highlighted
}
else if([[YourButton titleForState:UIControlStateSelected] isEqualToString:@"SelectCategory"])
{
        //selected
}
else
{
        //somecode
}
于 2012-04-30T11:47:42.370 回答
0

不能使用 比较两个字符串或两个对象==。要比较两个对象,您应该使用isEqual.

在这种情况下 :

if([stringToBeCompared isEqualToString:@"comparestring"])
{
   //statement
}
于 2012-04-30T12:03:52.587 回答