Wo kommt das schwache selbst gehen?

Ich machen das oft,

let when = DispatchTime.now() + 2.0
DispatchQueue.main.asyncAfter(deadline: when) {
   beep()
}

und in einer app tun wir das oft

tickle.fresh(){
    msg in
    paint()
}

aber wenn Sie das tun diese

let when = DispatchTime.now() + 2.0
DispatchQueue.main.asyncAfter(deadline: when) {
   tickle.fresh(){
      msg in
      paint()
   }
}

natürlich haben Sie zu tun diese

let when = DispatchTime.now() + 2.0
DispatchQueue.main.asyncAfter(deadline: when) { [weak self] _ in
   tickle.fresh(){
      msg in
      self?.paint()
   }
}

oder vielleicht diese

let when = DispatchTime.now() + 2.0
DispatchQueue.main.asyncAfter(deadline: when) {
   tickle.fresh(){
      [weak self] msg in
      self?.paint()
   }
}

oder vielleicht

let when = DispatchTime.now() + 2.0
DispatchQueue.main.asyncAfter(deadline: when) { [weak self] _ in
   tickle.fresh(){
      [weak self] msg in
      self?.paint()
   }
}

W T H sollen wir tun?

Alle drei Vorschläge scheinen perfekt funktionieren. Was die ganze Tiefe der Bedeutung hier? Und was soll man tun? Ist einen starken Hinweis auf eine schwache Referenz, eine schwache oder starke Referenz? Sein oder nicht sein? Das ist die Frage!

  • Die überschrift hier ist ganz existenzielle !
InformationsquelleAutor Fattie | 2017-02-01
Schreibe einen Kommentar