【发布时间】:2015-03-14 22:49:24
【问题描述】:
我想知道如何在让控制台计算给定时间后运行操作。例如 3 秒后打印 'hello'。 谢谢!!
【问题讨论】:
-
您考虑和尝试了什么?
我想知道如何在让控制台计算给定时间后运行操作。例如 3 秒后打印 'hello'。 谢谢!!
【问题讨论】:
您需要使用NSTimer 类。
示例用法:
var timer = NSTimer.scheduledTimerWithTimeInterval(3, target: self, selector: Selector("sayHello"), userInfo: nil, repeats: true)
你班上的其他地方...
func sayHello() {
println("Hello")
}
【讨论】:
您可以通过以下方式制造延迟!
您可以使用asynAfter 来创建延迟
DispatchQueue.main.asyncAfter(deadline: .now() + <secondsToDelay>) {
// Put your code here that you want to execute after delay
}
另一种方法是使用 objc 的 perform selector 延迟后调用函数本身
perform(#selector(delayedMethod), with: nil, afterDelay: <secondsToDelay>)
@objc func delayedMethod() {
print("My delayed method call")
}
当然,您也可以像 Woodstock 的回答一样使用 Timer。
【讨论】: