以下代码片段在完成块外部调用时工作正常,但是当我在块内部设置它时,定时器永远不会被触发.我不明白为什么会有区别:
self.timer = Timer.scheduledTimer(timeInterval: 1,
target: self,
selector: #selector(self.foo),
userInfo: nil,
repeats: true)
Run Code Online (Sandbox Code Playgroud)
我最初在块外调用它时没有使用自引用,但是一旦进入内部,就需要它.但是我再次在块外测试完全相同的代码,它仍然可以工作.
该块是完成处理程序,在请求HealthKit相关信息的许可后调用.