Consider this code:
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()
Running this in Xcode 8.3.3 Playground but the interval never starts. What am I'm missing?