0
我需要在特定的秒数内每0.1秒调用一次函数。直接秒数创建nstimer
我试图通过创建两个NSTimers来实现这一目标:
cameraLocalTimer = NSTimer.scheduledTimerWithTimeInterval(0.1, target: self, selector: "performStep", userInfo: nil, repeats: true)
cameraGlobalTimer = NSTimer.scheduledTimerWithTimeInterval(5.0, target: self, selector: "captureShouldEnd", userInfo: nil, repeats: false)
然后,我实现了自己的功能是这样的:
var stepCounter = 0
func performStep() {
stepCounter++
print(stepCounter)
}
func captureShouldEnd() {
cameraGlobalTimer.invalidate()
cameraLocalTimer.invalidate()
stepCounter = 0
}
但是当我运行我的应用程序在日志中看到该cameraLocalTimer被调用47次,而不是50.
有人可以帮我解决我的问题或建议更好的方法来做到这一点?
其实我有设置我的计时器后,这行代码: 'cameraLocalTimer = NSTimer.scheduledTimerWithTimeInterval(arrowStepSeconds,目标:自我,选择: “performStep”,用户信息:无,重复:真) cameraGlobalTimer = NSTimer.scheduledTimerWithTimeInterval (cameraCaptureSeconds,目标:自,选择器: “captureShouldEnd”,用户信息:无,重复:假) AudioServicesPlaySystemSound(beginRecordingSoundID) assetWriter.startWriting() assetWriter.startSessionAtSourceTime(kCMTimeZero) captureStarted = TRUE' 我试图创建没有这些线路和定时器触发50次的测试项目。 – mikle94
所以我只是把该代码之后的计时器创建,它没关系 – mikle94