是否可以在不使用NSTimer的情况下在Xcode 6中制作计时器?通过这个我的意思是你可以指定一个时间增量重复一定数量的代码?或者添加是否有可能使一个没有选择器的NSTimer选择一个不同的方法只是继续NSTimer在同一个方法中实现的代码?不使用NSTimer制作计时器(swift)
0
A
回答
1
有可能构建您的文章中描述的方案。以下代码显示了我将如何模拟没有NSTimer的计时器的基本思路。请注意,默认情况下,代码使用NSThread,或者,您可以将useGCD设置为true,以使用GCD进行分派。
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. NSTimer timerWithTimeInterval不调用选择器(Swift)
- 2. NSTimer的[定时器火]不起作用
- 3. NSTimer无效不会停止计时器
- 4. 的NSTimer和NSInvocation的,计时器不火
- 5. 的NSTimer暂停计时器
- 6. 计时器不能正常工作,Swift
- 7. NSTimer作为超时机制
- 8. NSTimer同时复制动作?
- 9. Objective-C:用NSTimer倒计时
- 10. 如何使用NSTimer进行倒计时?
- 11. 使用NSTimer创建倒计时
- 12. 使用UIProgressView和NSTimer执行倒计时
- 13. 在与计时器不同的函数中使NSTimer失效
- 14. 制作倒数计时器时出现Swift Signal SIGABRT错误?
- 15. NSTimer计算小时
- 16. 如何使用Swift做CountDown计时器
- 17. 如何使用Swift添加计时器?
- 18. Swift NSTimer异常
- 19. Swift-NSTimer&setNeedDisplay
- 20. 用NSTimer制作闹钟
- 21. Swift 3计时器在计时器
- 22. 的NSTimer无效 - 重复计时器
- 23. 如何使用NSDate或NSCalendar制作计数器或计时器?
- 24. swift - 如何在NSTimer中使用FIRE()
- 25. 在Swift中使用PageViewController设置NSTimer
- 26. swift - 使用NSTimer延迟产卵功能
- 27. NSTimer不重复计时器 - 检索时间间隔
- 28. NSTimer在视图控制器中倒计时
- 29. 用NSTimer在Swift中getTimeElapsed
- 30. 用NSTimer Swift产生SkShapeNodes
“这可能吗?”问题总是有三个可能的答案:“是的,这是可能的”,“不,这是不可能的”和“也许,取决于你的意思”。您接受这三个答案中哪一个是正确和有帮助的?如果答案是“以上都不是”,那么你需要重申你的问题比“这可能吗?”更具体,你应该[编辑]这样做。 (如果其中一个实际上是你想要的,让我知道,我会把它作为答案来发布,所以你可以接受。) – 2014-09-20 03:11:00