NSTimer를 사용하지 않고 Xcode 6에서 타이머를 만들 수 있습니까? 이 말은 일정한 양의 코드를 반복하기 위해 시간 단위를 지정할 수 있다는 뜻입니까? 또는 NSTimer가 구현하는 것과 동일한 메서드 내에서 코드를 계속 수행하는 다른 메서드를 선택하는 셀렉터가없는 NSTimer를 만들 수 있습니까?NSTimer를 사용하지 않고 타이머를 만들 때
0
A
답변
1
게시물에 설명 된대로 시나리오를 작성할 수 있습니다. 다음 코드는 NSTimer없이 타이머를 시뮬레이트하기 위해 수행 할 작업의 기본 아이디어를 보여줍니다. 기본적으로 코드는 NSThread를 사용하고 있습니다. GCD를 사용하여 useGCD를 true로 설정하여 디스패치 할 수도 있습니다.
class Timer: NSObject {
var interval = 1.0 // Interval at 1.0 second
var useGCD = false // Set true to use GCD
var _isTimerRunning = false
func start() {
if !_isTimerRunning {
if !useGCD {
var thread = NSThread(target: self, selector: Selector("timerFunction"), object: nil)
thread.start()
} else {
var queue = dispatch_queue_create("com.example.threading", nil)
dispatch_async(queue, {
self.timerFunction()
})
}
_isTimerRunning = true
}
}
func stop() {
_isTimerRunning = false
}
func timerFunction() {
while (_isTimerRunning) {
/*
* TO-DO Designated code goes here
*/
NSThread.sleepForTimeInterval(interval) // Interrupt
}
}
}
시작 타이머 :
var timer = Timer()
timer.start()
감사
0
지연 기능을 사용할 수 있습니까? 루프 내에서 반복적으로 발사하십시오.
delay (5.0) {
//code to execute here
}
func delay(delay:Double, closure:()->()) {
dispatch_after(
dispatch_time(
DISPATCH_TIME_NOW,
Int64(delay * Double(NSEC_PER_SEC))
),
dispatch_get_main_queue(), closure)
}
관련 문제
- 1. 신속하게 타이머를 사용하지 않고 uitableview를 업데이트하는 방법
- 2. 타이머를 사용하지 않고 일시 중지
- 3. 레일에서 양식을 사용하지 않고 만들
- 4. NSTimer를 사용하지 않고 10 초마다 방법을 트리거 할 수 있습니까?
- 5. android, 타이머를 사용하지 못했습니다.
- 6. 블록 기능 안에서 타이머를 만들 때 타이머를 끄는 방법은 무엇입니까?
- 7. NSTimer를 사용하지 않고 연속 배경 스레드를 사용하여 iPhone UI를 업데이트 할 수 있습니까?
- 8. setTimeout을 사용하지 않고 간단한 타이머를 실행하거나 빌드하는 방법은 무엇입니까?
- 9. 타이머를 사용하지 않고 정의 된 초 후에 함수 호출
- 10. NSTimer를 해제하는 방법? 또는 타이머를 멈추십시오. Xcode 5
- 11. 보기를 떠날 때 NSTimer를 중지하십시오.
- 12. NSRunAlertPanel이 NSTimer를 일시 중지합니까?
- 13. NSTimer를 중지하지 못했습니다?
- 14. 'mysql_connect()'을 사용하지 않고 성능을 사용하지 않고
- 15. NSTimer를 사용하여 함수 호출
- 16. Timer 구성 요소없이 타이머를 만들 수 있습니까?
- 17. NSTimer를 만들고 있지만 실행하지 않는 방법은 무엇입니까?
- 18. NSTimer를 사용한 호출 방법
- 19. 타이머를 멈추지 않고 TimerTask 중지
- 20. NSTimer를 중지하는 방법
- 21. 레일을 사용하지 않고 모델을 사용하지 않고
- 22. 다른 클래스의 nstimer를 무효화합니다.
- 23. NSTimer를 일시 중지하는 방법은 무엇입니까?
- 24. 새로운 뷰 컨트롤러가 밀어 넣을 때 Monotouch에서 NSTimer를 효과적으로 중지합니다.
- 25. NSTimer를 초기화하여 특정 횟수만큼 실행 하시겠습니까?
- 26. 탭바 iPhone 앱에서 내 NSTimer를 어떻게 관리해야합니까?
- 27. PHP를 사용하지 않고 투표 시스템을 만들 수있는 방법이 있습니까?
- 28. 심지어 응용 프로그램이 배경에있을 때 NSTimer를 실행하는 MonoTouch
- 29. where 절을 사용하지 않고 사용자 지정 식을 만들 수 있습니까?
- 30. 타이머를 사용하지 않도록 설정하는 이유는 무엇입니까?
"이 가능합니까?" 질문에는 항상 세 가지 잠재적 인 대답이 있습니다. "예, 가능합니다", "아니요, 불가능합니다", "어쩌면 당신이 정확히 무엇을 의미 하느냐에 따라 달라집니다". 다음 세 가지 대답 중 어느 것이 정확하고 도움이되는 것으로 받아들입니까? 대답이 "위에 없음"이라면 "가능합니까?"보다 구체적으로 질문을 다시 써야합니다. 그렇게하려면 [편집]해야합니다. (만약 그들 중 한 명이 사실 당신이 원한다면, 알려주세요. 대신 답변으로 게시하여 받아 들일 수 있습니다.) –