Ios 在swift中单击按钮启动计时器
我在swift中创建了一个计时器,当按下按钮时,它可以一次又一次地将UISlider从一端移动到另一端。但是我总是在计时器行上得到一个断点,尽管一切都应该是正确的Ios 在swift中单击按钮启动计时器,ios,swift,timer,Ios,Swift,Timer,我在swift中创建了一个计时器,当按下按钮时,它可以一次又一次地将UISlider从一端移动到另一端。但是我总是在计时器行上得到一个断点,尽管一切都应该是正确的 @IBAction func setSliderValue(_ sender: UIButton){ mytimer = Timer.scheduledTimer(timeInterval: 0.1, target: self, selector: #selector(timerAction), userInfo:
@IBAction func setSliderValue(_ sender: UIButton){
mytimer = Timer.scheduledTimer(timeInterval: 0.1, target: self, selector: #selector(timerAction), userInfo: nil, repeats: true)
}
func timerAction(){
let Range = slider.maximumValue - slider.minimumValue;
let Increment = Range/100;
let newval = slider.value + Increment;
if(Increment >= slider.maximumValue)
{
slider.setValue(newval, animated: true)
}
else
{
slider.setValue(0, animated: true)
}
}
您的功能检查不正确
func timerAction(){
let range = slider.maximumValue - slider.minimumValue
let increment = range/100
let newval = slider.value + increment
if newval <= slider.maximumValue {
slider.setValue(newval, animated: true)
} else {
slider.setValue(slider.minimumValue, animated: true)
}
}
func timerAction(){
让范围=slider.maximumValue-slider.minimumValue
让增量=范围/100
让newval=slider.value+增量
如果newval现在可以使用以下代码,尽管滑块仅从左向右移动,直到无效为止
@IBAction func setSliderValue(_ sender: UIButton){
mytimer = Timer.scheduledTimer(timeInterval: 0.1, target: self, selector: #selector(timerAction), userInfo: nil, repeats: true)
/*slider.setValue(100, animated: true)
print("The value of the slider is now \(slider.value)")
sliderValue = Int(slider.value)*/
}
func timerAction(){
let Range = slider.maximumValue - slider.minimumValue;
let Increment = Range/100;
let newval = slider.value + Increment;
if(Increment <= slider.maximumValue)
{
slider.setValue(newval, animated: true)
print("The value of the slider is now \(slider.value)")
sliderValue = Int(slider.value)
}
else if (Increment >= slider.minimumValue)
{
slider.setValue(newval, animated: true)
}
}
@iAction func setSliderValue(\uSender:ui按钮){
mytimer=Timer.scheduledTimer(时间间隔:0.1,目标:self,选择器:#选择器(timerAction),用户信息:nil,重复:true)
/*slider.setValue(100,动画:真)
打印(“滑块的值现在为\(slider.value)”)
sliderValue=Int(slider.value)*/
}
func timerAction(){
让范围=slider.maximumValue-slider.minimumValue;
让增量=范围/100;
让newval=slider.value+Increment;
如果(增量=滑块最小值)
{
slider.setValue(newval,动画:true)
}
}
如果其他人需要“点击按钮启动倒计时”任务的帮助,希望这能有所帮助
定时器本身必须在按钮代码的内声明,并另外创建一个Obj-C函数来更新将通过#选择器连接的定时器
class ViewController: UIViewController {
var myTimer = Timer()
var secondsToCount = 100
@IBAction func buttonTapped(_ sender: UIButton) {
myTimer.invalidate()
myTimer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(updateTimer), userInfo: nil, repeats: true)
}
@objc func updateTimer() {
secondsToCount -= 1
timerDisplayed.text = String(secondsToCount)
}
}
timerDisplayed是一个标签,我连接它可以在应用程序屏幕上查看计时器的值
SWIFT 5.3&Xcode 12.0.1“获取断点”-你的意思是你的代码在使用exc_断点时崩溃了
?请发布你在Xcode控制台中看到的错误消息。它会与绿色下划线Thread 1:breakpoint 1.1和(lldb)一起崩溃在控制台中。但只有当我点击链接到setSliderValue的按钮时。这不是错误消息,在调试中点击continue以查看实际的崩溃消息。嗯,它不再崩溃看起来像是因为Xcode的换行。