如何在Swift中检查NSTimer是否正在运行.在obj-c中代码应该像我猜的那样:
if (!myTimer) {
//DO
}
Run Code Online (Sandbox Code Playgroud)
我试图像这样在Swift中设置它并显示错误.
if !myTimer {
// DO
}
Run Code Online (Sandbox Code Playgroud)
Dun*_*n C 30
我所做的(两种语言)都是让我的计时器变弱.在swift中,它将是一个弱选项.
weak var myTimer: NSTimer?
Run Code Online (Sandbox Code Playgroud)
然后我创建一个计时器
myTimer = NSTimer.scheduledTimerWithTimeInterval(1,
target: self,
selector: "timerFired:",
userInfo: nil,
repeats: false)
Run Code Online (Sandbox Code Playgroud)
然后你可以使用
if timer == nil
Run Code Online (Sandbox Code Playgroud)
告诉它是否正在运行.
要停止计时器,只需拨打电话即可
myTimer?.invalidate()
Run Code Online (Sandbox Code Playgroud)
在Objective-C中它会是
[myTimer invalidate];
Run Code Online (Sandbox Code Playgroud)
这在Objective-C中有效,因为向nil指针发送消息是有效的,并且什么都不做.
如果您不想使用弱选项,您可以通过查看它的valid属性来查询计时器以查看它是否正在运行.
Sub*_*bbu 18
以下选项怎么样?你能看出这对你有用吗?
if myTimer.valid {
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11492 次 |
| 最近记录: |