4

我有有效的代码,但我想确保我做事正确而干净。

我在屏幕上显示了相同视图集合的四个版本。每个集合将用于控制四种不同声音的音量和速率。这些集合通过 IBOutletCollection 链接到 4 个不同的 NSArray(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]);
}

我做对了吗,还是有更好的方法来做到这一点?

4

1 回答 1

0

您可以使用tag属性在控件上设置数字索引,然后简单地sender.tag在事件回调中使用。

于 2013-04-12T11:31:42.327 回答