我需要在应用启动时调用方法,然后每隔5秒调用相同的方法。
我的代码非常简单:
// Call the method right away
[self updatestuff:nil]
// Set up a timer so the method is called every 5 seconds
timer = [NSTimer scheduledTimerWithTimeInterval: 5
target: self
selector: @selector(updatestuff:)
userInfo: nil
repeats: YES];
是否有计时器的选项,以便它立即触发,然后每5秒触发一次?
答案 0 :(得分:74)
NSTimer
的{{1}},-fire
就是你要找的。 p>
这将触发/立即调用定时器来消除时间延迟。
答案 1 :(得分:17)
您无法在同一行代码中安排计时器并立即触发事件。所以你必须用2行代码来完成它。
首先,安排计时器,然后立即在计时器上调用'fire':
timer = [NSTimer scheduledTimerWithTimeInterval: 5
target: self
selector: @selector(updatestuff:)
userInfo: nil
repeats: YES];
[timer fire];
当调用fire时,计时器等待触发的时间间隔将重置,因为它刚刚运行,然后将以指定的时间间隔继续运行 - 在这种情况下,每5秒钟。
答案 2 :(得分:2)
在Swift中:
timer = Timer.scheduledTimer(timeInterval: interval, target: self, selector: #selector(foo), userInfo: nil, repeats: true)
timer.fire()
答案 3 :(得分:0)
这可以很快地在一行中实现:
import requests
r = requests.get(link, stream=True)
print(r.headers)
}