objective c - Poner a cero referencias débiles en ARC
objective-c clang (1)
Si mi lectura del artículo de Mike Ash "Cero Referencias débiles" es correcta, las referencias débiles son como assign
referencias sin ARC. Sin embargo, si el objeto referenciado se desasigna, en lugar de obtener un "puntero colgante" (es decir, un puntero que apunta a un objeto desasignado), el puntero se establece en nil
.
¿Es esto correcto? ¿Ocurre esto con alguna propiedad marcada como weak
o assign
(cuando ARC está activo)?
Si esto es correcto, esto eliminaría muchos SIGABRTs.
Es principalmente correcto, pero las propiedades de assign
siguen siendo tratadas de la misma manera que siempre, solo las weak
están reducidas a cero. Otra advertencia es que las referencias débiles de reducción a cero solo están disponibles en Mac OS X ≥ 10.7 y iOS ≥ 5. Mientras que el resto de ARC fue portado a 10.6 y iOS 4, las referencias débiles no se pueden usar en absoluto en estos sistemas operativos.