En la sesión de WWDC 2014 403 Intermedio Swift y transcripción , hubo la siguiente diapositiva

El orador dijo en ese caso, si no lo usamos [unowned self]allí, será una pérdida de memoria. ¿Significa que siempre debemos usar el [unowned self]cierre interior?
En la línea 64 de ViewController.swift de la aplicación Swift Weather , no lo uso [unowned self]. Pero actualizo la interfaz de usuario usando algunos @IBOutlets como self.temperaturey self.loadingIndicator. Puede estar bien porque todos los @IBOutlets que definí son weak. Pero por seguridad, ¿deberíamos usar siempre [unowned self]?
class TempNotifier {
var onChange: (Int) -> Void = {_ in }
var currentTemp = 72
init() {
onChange = { [unowned self] temp in
self.currentTemp = temp
}
}
}
onChangedebe ser un [weak self]cierre, ya que es una propiedad pública (internamente, pero aún así), por lo que otro objeto podría obtener y almacenar el cierre, manteniendo el objeto TempNotifier alrededor (indefinidamente si el objeto en uso no soltó el onChangecierre hasta que vio que TempNotifierse había ido, a través de su propia referencia débil a TempNotifier) . Si var onChange …fuera private var onChange …así [unowned self], sería correcto. Sin embargo, no estoy 100% seguro de esto; alguien me corrija por favor si me equivoco.
[]? No puedo encontrar la explicación en los documentos de Apple.
{}es el cierre vacío (la instancia del cierre) como predeterminado (no hace nada), (Int) -> Voides la definición de cierre.
