我们知道默认情况下Playground中是不可以完成延时调用这些操作的,因为Playground只在前台执行一次,压根不会理会你所谓的延时执行.
比如以下代码:
import UIKit class Foo{ @objc func show(){ print("Hi") } } let obj = Foo() Timer.scheduledTimer(timeInterval: 1, target: obj, selector: #selector(Foo.show), userInfo: nil, repeats: true)
我们希望上面这段代码在后台源源不断的打印出Hi来,实际上一句Hi也打印不出来,原因上面已经说过了.
不过我们可以通过给Playground添加额外的扩展来完成类似的需求,首先介绍早期版本中Playground是如何进行延时调用的,在Playground代码中添加如下两行: