比较UIViews

时间:2013-02-25 11:12:15

标签: objective-c uiview compare

我有以下(简化)代码:

- (void)doSomethingWithView:(UIView *)theView{

    if ([theView isEqual:myFirstView]) {
        //do something;
    }else{
        //do something else;
         }
}

我希望,根据我发送给这个方法的视图,“myFirstView”或“mySecondView”,我会得到不同的结果。但是,条件总是变成FALSE。

我做错了什么?

2 个答案:

答案 0 :(得分:1)

您还可以通过获取两个uiviews的标记值进行比较,如下所示

myfirstview.tag = 1;
mysecondview.tag = 2;

现在通过传递你的UIView,即myfirstview或mysecondview来调用你的方法  并定义您的方法如下:

- (void)doSomethingWithView:(UIView *)theView{

   if (theView.tag == 1 ) {
    //do something for myfirstview
   }
  else{
    //do something else for mysecondview
     }
  }

答案 1 :(得分:0)

正如Hemang回答的那样......你应该使用isKindOfClass或isMemberOfClass来检查它。 如果使用isEqual进行比较,它将比较对象地址。