NSTimer - NSSlider
我的应用程序中有一个 NSTimer 和一个 NSSlider。如何使计时器的时间间隔立即响应滑块值?
目前它只在开始时做出响应。一旦计时器已经触发,它就不再响应......
[NSTimer scheduledTimerWithTimeInterval:[slider doubleValue]
target:self
selector:@selector(updateTextFieldWithRandomNumber)
userInfo:nil
repeats:YES];
I have a NSTimer and a NSSlider in my app. How do I make, that the time interval of the timer would respond instantly to the slider value?
For now it responds just at the beginning. Once the timer is already fired, it doesn't respond any more...
[NSTimer scheduledTimerWithTimeInterval:[slider doubleValue]
target:self
selector:@selector(updateTextFieldWithRandomNumber)
userInfo:nil
repeats:YES];
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
创建计时器后,您将无法更改计时器的时间间隔。您必须使旧计时器无效并使用新的时间间隔创建一个新计时器。
You cannot change the time interval of a timer once you have created it. You have to invalidate the old timer and create a new one with the new time interval.
将 KVO 观察放在滑块的 doubleValue 属性上并使计时器无效并在通知发生时重新创建它怎么样?
What about putting a KVO observation on the slider's
doubleValue
property and invalidating the timer and recreating it when the notification happens?