比较两个标记对象?

时间:2012-05-17 13:48:09

标签: iphone objective-c ios xcode if-statement

我有2个按钮,每个按钮都带有标签。如何比较它们,每个都有自己的标签和图像。例如:

// sender is (UIButton *)sender.

if ((sender.tag == 1)theImageOnTheButton == (sender.tag == 2)theImageOnTheButton
{
    // egual
}
else
    // not egual

所以,如果发件人标记为1,他的图像等于带标签2的发件人,他的图像相等,说相等,否则,说他们不是正常的。我怎么能这样做?

原始代码是:

-(void)flipView:(UIButton*)sender
{    
    x = x + 1;
    if (x == 1)
    {
        //  When flipping the first card
        NSLog(@"X == 1");
        [sender setTag:1];
    }
    else if (x == 2)
    {
        //  When flipping the second card
        NSLog(@"X == 2");
        x = 0;
        [sender setTag:2];

        if ((sender.tag == 2) == (sender.tag == 1))
        {
            NSLog(@"IGUAL");
        }
        else
        {
            NSLog(@"NOT EGUAL");
        }
    }
}

感谢分配。

2 个答案:

答案 0 :(得分:0)

如果我有两个以上的按钮,那我该如何比较图像?

假设您有两个带标签的按钮

IBOutlet UIButton *btn1, *btn2;

btn1.tag = 1;
btn2.tag = 2;

将这两个IBOutlet按钮连接到xid文件中的按钮,并添加一个共同的IBAction。

 -(IBAction)checkingBtns:(id)sender
  {

  if([sender tag] == 1){
      //Do what ever with your btn1 change color, change text, change image
    }

   if([sender tag] == 2){
      //Do what ever with your btn2 change color, change text, change image
    }

   }
希望这会对你有所帮助!!正确连接oulets和动作以获得正确的功能

答案 1 :(得分:0)

[sender setTag:2];

然后 -

if ((sender.tag == 2) == (sender.tag == 1))

当已经标记设置为2时,它怎么能等于1?错误的逻辑。