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.