我有这个代码是为了让我的手机不断振动。但它在1次振动后停止。我的计时器有问题吗?
var timer: Timer?
@IBAction func button1(_ sender: UIButton) {
AudioServicesPlayAlertSound(kSystemSoundID_Vibrate)
timer?.invalidate()
timer = Timer.scheduledTimer(timeInterval: 0.1, target: self, selector: Selector(("doaction")), userInfo: nil, repeats: true)
}
我做错了什么?救命?我也在使用swift的xcode。如果重要的话,可以使用iphone 7 plus。
答案 0 :(得分:1)
计时器在一轮后不会停止振动。计时器从不振动。
计时器的作用是重复调用doaction
方法。但doaction
方法不会产生任何振动。因此唯一的振动是button1
中的唯一振动。
答案 1 :(得分:0)
振动仅在您点击按钮时发生,您需要在“doaction”方法中发生振动:
var timer: Timer?
@IBAction func button1(_ sender: UIButton) {
doaction()
timer?.invalidate()
timer = Timer.scheduledTimer(timeInterval: 0.1, target: self, selector: Selector(("doaction")), userInfo: nil, repeats: true)
}
func doaction() {
AudioServicesPlayAlertSound(kSystemSoundID_Vibrate)
}