Poniendo a cero las referencias débiles en ARC

Si mi lectura de la reseña de “Reducir a cero las referencias débiles” de Mike Ash es correcta, las referencias débiles son como assign referencias sin ARC. Sin embargo, si el objeto al que se hace referencia es desasignado, en lugar de obtener un “puntero colgante” (es decir, un puntero que apunta a un objeto desasignado), el puntero se establece en nil .

¿Es correcto y sucede esto con cualquier propiedad marcada como weak o assign (cuando ARC está activo)?

Si esto es correcto, esto eliminaría una gran cantidad de SIGABRT.

En su mayoría es correcto, pero las propiedades de assign todavía se tratan igual que nunca, solo las weak se ponen a cero. Otra advertencia es que las referencias débiles de puesta a cero solo están disponibles en Mac OS X ≥ 10.7 e iOS ≥ 5. Mientras que el rest de ARC se transfirió a 10.6 e iOS 4, las referencias débiles no se pueden utilizar en absoluto en estos SO.