2016-08-22 2 views
0

나는 60 초마다 텍스트를 변경하는 코드를 실행하기 위해 nstimer를 사용하고 있습니다. 누군가가 60 초의 반복을 건너 뛰는 방법을 알고 있는지 궁금합니다. 사용자가 현재 표시중인 텍스트를 읽지 않으려는 순간에 60 초를 기다려야한다고 가정 해보십시오. 버튼 탭에서 즉시 다음 60 초 루프로 이동하는 방법이 있습니까?Nstimer Countdown 건너 뛰기 버튼

이것은 내가 지금까지 무엇을 가지고 : 당신이 내게 줄 수있는 지침 미리

var array : String[]() 

var x = 0 


@IBAction func playBtnPressed(sender: UIButton) 
{ 
    update() 

    timer = NSTimer.scheduledTimerWithTimeInterval(60, target: self, selector: #selector(PlayVC.update), userInfo: nil, repeats: true) 

} 

func update() 
{ 
    if x < array.count { 

     let item = array[x] 

     aLbl.text = array.itemTitle 

     x += 1 
    } 

} 

@IBAction func skipBtnPressed(sender: UIButton) 
{ 

} 

감사합니다! :)

+0

사용자가 "건너 뛰기"버튼을 탭하면 'x'가 1 씩 증가하도록 하시겠습니까? 또는 단추 처리기에서'update'를 호출하면됩니까? – rmaddy

답변

0

skipBtnPressed()에서는 먼저 타이머를 무효화하고 데이터를 업데이트 한 다음 다른 타이머를 설정해야합니다. 이처럼

@IBAction func skipBtnPressed(sender: UIButton) 
{ 
    timer.invalidate() 
    update() 
    timer = NSTimer.scheduledTimerWithTimeInterval(60, target: self, selector: #selector(PlayVC.update), userInfo: nil, repeats: true) 

} 
+0

완벽하게 작동했습니다. 나는 아직도 갈 길이 멀다! 도와 줘서 고마워. – SwiftStarter