NSTimer에서 시간 간격을 어떻게 바꿀 수 있습니까?Swift NSTimer 동적으로 변경되는 간격
var difficulty: Double = 1.0
override func viewDidLoad() {
super.viewDidLoad()
_ = NSTimer.scheduledTimerWithTimeInterval(difficulty, target: self, selector: #selector(hideAllBtns), userInfo: nil, repeats: true)
}
나는 hideallbuttons에서 매번 호출 된 switch 문을 실행 한 다음 어려움을 업데이트합니다.
func getDifficulty (score : Double) -> Double {
switch score {
case 0...100: return(1.0)
case 100...200: return (0.8)
case 200...300: return (0.5)
case 300...400: return (0.2)
default: return (1.0)
}
}
그러나 NSTimer 내가 먼저 실행하고 그 값에 스틱시 복사본을 생성 가정 1.0s에서 발사 계속, 나는 타이머 호출에서 변수를 만들려고했지만 그 작동하지 않습니다.
타이머가 작동하는 속도를 동적으로 조정하는 간단한 방법이 있습니까?
이것은 아직 배우고있는 연습 프로젝트 일 뿐이므로 내가하는 일을 구조화하는 데 훨씬 좋은 방법이 있음을 이해합니다. 나는 동적으로 조정하는 타이머가 미래의 사용에 유용 할 것이라고 생각한다.
'NSTimer'는 repeat : true로 설정됩니다. 그러면 1 초만 반복됩니다. 난이도와 반복 정도에 따라 기간을 설정해야합니다. 메서드를 호출하여 타이머를 시작하고 'hideAllBtns' 메서드를 호출하여 난이도에 따라 타이머를 다시 시작 (즉, 시작)해야합니다. 신속한 https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Properties.html#//apple_ref/doc/uid/TP40014097-CH14-ID259에서 getters 및 setter를 만드는 방법도 확인하십시오. – Asdrubal
"이것은 단지 연습 프로젝트입니다."묻기 전에 찾기 연습을 할 수있는 좋은 기회입니다. – matt