在objective-C中获取发件人的实例名称

时间:2010-10-15 12:50:00

标签: objective-c

我想在Objective-C中获取发件人的名字。例如,下面我有一个方法,它由Interface Builder中的UISlider实例调用,我想知道它的实例名称是什么,以便稍后我可以将条件块添加到UISlider实例的方法中。

e.g。

-(IBAction)sliderChanged:(UISlider *)sender {
    //labAt1TimeRequired.text = [NSString stringWithFormat:@"%.1f", [sender value]]; 

    NSLog(@"%@",sender);

Outputs:2010-10-15 22:46:02.257 EPC[3225:207] <UISlider: 0x495b140; frame = (205 3; 118 23); opaque = NO; autoresize = RM+BM; layer = <CALayer: 0x492e340>>

我希望能够说出

if(sender==myInstanceName)  { 
//do this 
}

2 个答案:

答案 0 :(得分:0)

您可以使用

  

.tag成员

读取滑块的写入和整数ID,如下所示:

-(IBAction)sliderChanged:(UISlider
 *)sender { 
   switch (sender.tag) {
    case 0:
       //SLider 0
       break;
      case 1:
       //SLider 1
       break;
      default:
       break;
     }
    }

也可以为IB中的组件设置标签ID。

如果您在字符串上设置,则需要子类化UISlider。

答案 1 :(得分:0)

您可以使用UIView的tag属性来识别发件人。

-(IBAction)sliderChanged:(UISlider *)sender {
//labAt1TimeRequired.text = [NSString stringWithFormat:@"%.1f", [sender value]]; 

    if (sender.tag == 1)
    {
        // do whatever
    }
    else
    {
        // do something else
    }
}