2010-10-15 37 views
0

我想在Objective-C中獲取發件人的名稱。例如,下面我有一個在Interface Builder中由UISlider的實例調用的方法,我想知道它的實例名稱是什麼,所以我可以稍後向UISlider的實例稱爲方法的方法添加條件塊。在Objective-C中獲取發件人的實例名稱-C

例如

-(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 
} 

回答

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。

0

你會使用的UIView標籤屬性識別發件人。

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

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