¿A dónde va el yo débil?
A menudo hago esto
let when = DispatchTime.now() + 2.0
DispatchQueue.main.asyncAfter(deadline: when) {
beep()
}
y en una aplicación a menudo hacemos esto
tickle.fresh(){
msg in
paint()
}
pero si lo hacesesta
let when = DispatchTime.now() + 2.0
DispatchQueue.main.asyncAfter(deadline: when) {
tickle.fresh(){
msg in
paint()
}
}
por supuesto que tienes que haceresta
let when = DispatchTime.now() + 2.0
DispatchQueue.main.asyncAfter(deadline: when) { [weak self] _ in
tickle.fresh(){
msg in
self?.paint()
}
}
o tal vezesta
let when = DispatchTime.now() + 2.0
DispatchQueue.main.asyncAfter(deadline: when) {
tickle.fresh(){
[weak self] msg in
self?.paint()
}
}
o tal vez esto
let when = DispatchTime.now() + 2.0
DispatchQueue.main.asyncAfter(deadline: when) { [weak self] _ in
tickle.fresh(){
[weak self] msg in
self?.paint()
}
}
¿Qué deberíamos hacer?Las tres sugerenciasparecer para trabajar perfectamente ¿Cuál es el significado completo aquí? ¿Y cuál debería hacer uno? ¿Es una referencia fuerte a una referencia débil, una referencia débil o fuerte? Ser o no ser? ¡Esa es la pregunta!