Метод определения идентификатора отправителя

У меня есть код, который работает, но я хочу убедиться, что я делаю все правильно и чисто.

У меня есть четыре версии одной и той же коллекции представлений, отображаемых на экране. Каждая коллекция, которая будет использоваться для управления громкостью и скоростью четырех разных звуков. Коллекции связаны с IBOutletCollection для 4 различных NSArrays (soundView0, soundView1, soundView2, soundView3).

Я использовал следующий код, чтобы определить, какой регулятор громкости настраивается:

-(IBAction)whichVolume:(UISlider *)sender
{
    if ([soundView0 containsObject:sender]) {
        soundIndex = 0;
    }
    else if (([soundView1 containsObject:sender]))
    {
        soundIndex = 1;
    }
else if ([soundView2 containsObject:sender])
{
    soundIndex = 2;
}
    else if ([soundView3 containsObject:sender])
{
    soundIndex = 3;
}
    //send a message to set volume of sound at index soundIndex
    NSLog(@"The soundIndex is %d", soundIndex);
    NSLog(@"The volume is %f", [sender value]);
}

Я правильно понял или есть лучший способ сделать это?

1 ответ

Ты можешь использовать tag свойство, чтобы установить числовой индекс для элемента управления, а затем просто использовать sender.tag в обратном вызове события.

Другие вопросы по тегам