相关疑难解决方法(0)

为什么`scheduledTimer`在块外部设置时会正常触发,但不在块内?

以下代码片段在完成块外部调用时工作正常,但是当我在块内部设置它时,定时器永远不会被触发.我不明白为什么会有区别:

self.timer = Timer.scheduledTimer(timeInterval: 1,
                                  target: self,
                                  selector: #selector(self.foo),
                                  userInfo: nil,
                                  repeats: true)
Run Code Online (Sandbox Code Playgroud)

我最初在块外调用它时没有使用自引用,但是一旦进入内部,就需要它.但是我再次在块外测试完全相同的代码,它仍然可以工作.

该块是完成处理程序,在请求HealthKit相关信息的许可后调用.

ios swift swift3

17
推荐指数
2
解决办法
2593
查看次数

标签 统计

ios ×1

swift ×1

swift3 ×1