2017-10-11 2 views
-2

내 전화가 끊임없이 진동하게하는이 코드가 있습니다. 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) 
} 

내가 뭘 잘못 했니? 도움? 나는 또한 xcode를 신속하게 사용하고있다. 그게 중요한지 아이폰 7 플러스 있어요.

+0

내 아이폰 충돌을 내가 분리 –

+1

가보기 응용 프로그램을 실행하려고하면 'doaction' 방법을 부탁합니다. 결국 타이머가 반복적으로 호출하는 것입니다. – matt

답변

1

타이머가 1 회전 후에 진동을 멈추지 않습니다. 타이머 은 결코이 진동하지 않습니다.

타이머가 수행하는 작업은 doaction 메서드를 반복적으로 호출하는 것입니다. 그러나 doaction 메서드는 진동을 수행하지 않습니다. 따라서 유일한 진동은 button1의 단일 진동입니다.

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) 
} 
관련 문제