Метод определения идентификатора отправителя
У меня есть код, который работает, но я хочу убедиться, что я делаю все правильно и чисто.
У меня есть четыре версии одной и той же коллекции представлений, отображаемых на экране. Каждая коллекция, которая будет использоваться для управления громкостью и скоростью четырех разных звуков. Коллекции связаны с 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
в обратном вызове события.