Идентификация UIStepper, вызвавшего событие

На мой взгляд, у меня есть два степпера, которые связаны с этой функцией.

- (IBAction)stepperChanged:(UIStepper *)sender {
    int value = [sender value];

    printf("value: %d", value);
}

Есть ли быстрый и простой способ определить, какой степпер вызвал это событие?


person Stupid.Fat.Cat    schedule 17.03.2014    source источник


Ответы (2)


Дайте степперу тег, а затем проверьте значение тега. Вы можете установить тег в коде или в IB.

person nsdebug    schedule 17.03.2014

Вы также можете объявить свойство, что мне нравится больше, чем теги:

@property (nonatomic, strong) UIStepper *stepper1;

- (IBAction)stepperChanged:(UIStepper *)sender 
{
    if (sender == self.stepper1)
    {
        NSLog(@"Value of stepper1 is: %d",sender.value);
    }
}
person klcjr89    schedule 17.03.2014
comment
Вероятно, вы захотите объявить свойство как IBOutlet UIStepper *stepper1, чтобы вы могли назначить его из своей раскадровки/NIB в IB. - person Paulw11; 18.03.2014
comment
Возможно, но я не использую IBOutlets, поэтому приведенный выше код предназначен для моего варианта использования. Кроме того, он не уточнил, было ли это для раскадровки или нет. - person klcjr89; 18.03.2014