Ich möchte eine Schließung nach Verzögerungszeit durchführen, aber ein Laufzeitfehler aufgetreten. Ich weiß, GCD kann das einfacher, aber ich möchte wissen warum.EXC_BAD_ACCESS beim Ausführen einer Schließung
danke.
Hier ist mein Code:
func perform(_ aClosure:@escaping()->Void, afterDelay delay: TimeInterval) {
self.perform(#selector(fire(closure:)), with: aClosure, afterDelay: delay)
}
func fire(closure:()->Void) {
closure() // error
}
self.perform({
print("closure do something... ...")
}, afterDelay: 2)
Ich denke, es ist weil Selektor nicht Swift Closure als ein Objekt erwartet. Es ist nicht übereinstimmend. – Shmidt