【发布时间】:2011-04-07 16:44:52
【问题描述】:
在 iPhone 设备上处理这种情况的最佳方法是什么:我的程序在两个值之间调整声音的音高。按下按钮调用一个方法,该方法具有一个 while 循环,该循环以小增量进行斜坡。这需要一些时间才能完成。与此同时,用户按下了另一个调用相同方法的按钮。现在我希望第一次调用中的循环停止,第二次调用从当前状态开始。这是该方法的外观:
-(void)changePitchSample: (float) newPitch{
float oldPitch=channel.pitch;
if (oldPitch>newPitch) {
while (channel.pitch>newPitch) {
channel.pitch = channel.pitch-0.001;
}
}
else if (oldPitch<newPitch) {
while (channel.pitch<newPitch) {
channel.pitch = channel.pitch+0.001;
}
}
}
现在如何最好地处理再次调用该方法的情况?我需要某种多线程吗?我不需要两个进程同时进行,所以似乎必须有一些我找不到的更简单的解决方案(对这种语言不熟悉)。
非常感谢任何帮助!
【问题讨论】:
标签: iphone objective-c xcode ios