考虑以下代码:
import Foundation
import PlaygroundSupport
class Test
{
var interval:Timer?
var counter = 0
func start()
{
print("Starting ...")
interval = Timer.scheduledTimer(withTimeInterval: 1, repeats: true)
{
timer in
self.counter += 1
print(self.counter)
if (self.counter < 10) { return }
self.interval?.invalidate()
self.interval = nil
print("Done!")
PlaygroundPage.current.finishExecution()
}
interval?.fire()
}
}
PlaygroundPage.current.needsIndefiniteExecution = true
var test = Test()
test.start()
在Xcode 8.3.3 Playground中运行,但间隔永远不会开始。我失踪了什么?
答案 0 :(得分:1)
简单的答案是将它添加到你的游乐场:
import PlaygroundSupport
PlaygroundPage.current.needsIndefiniteExecution = true
当使用游乐场时,默认情况下游乐场会运行所有代码然后停止,它不知道等待计时器。这段代码告诉操场等待发生的事情。