Das folgende Code-Snippet funktioniert perfekt, wenn es außerhalb eines Completion-Blocks aufgerufen wird, aber der Timer wird nie ausgelöst, wenn ich ihn innerhalb des Blocks eingerichtet habe. Ich verstehe nicht, warum es einen Unterschied gibt:Warum sollte ein `terminatedTimer` beim Setup außerhalb eines Blocks, aber nicht innerhalb eines Blocks, ordnungsgemäß ausgelöst werden?
self.timer = Timer.scheduledTimer(timeInterval: 1,
target: self,
selector: #selector(self.foo),
userInfo: nil,
repeats: true)
ich nicht die Selbstreferenzen verwendet wurde, wenn es anfänglich außerhalb des Blocks aufrufen, aber dann einmal im Inneren, es erforderlich war. Ich habe jedoch genau den gleichen Code außerhalb des Blocks erneut getestet und es funktioniert immer noch.
Der Block ist ein Completion-Handler, der nach dem Einholen der Berechtigung für HealthKit
zugehörige Informationen aufgerufen wird.
Dank macht viel Sinn. Ich hätte daran denken sollen. Vielen Dank. – Kevin