Réduction des références faibles dans l’ARC

Si ma lecture de “Zeroing Weak References” de Mike Ash est correcte, les références faibles sont comme assign références sans ARC. Toutefois, si l’object référencé est désalloué, au lieu d’obtenir un “pointeur” (signifiant un pointeur qui pointe vers un object désalloué), le pointeur est défini sur nil .

Est-ce exact et est-ce que cela se produit avec des propriétés marquées comme étant weak ou assign (lorsque l’ARC est actif)?

Si cela est correct, cela éliminerait beaucoup de SIGABRT.

C’est surtout juste, mais les propriétés assign sont toujours traitées de la même façon qu’elles le sont, seules les plus weak sont la réduction à zéro. Une autre mise en garde est que la mise à zéro des références faibles n’est disponible que dans Mac OS X 10.7 et iOS ≥ 5. Alors que le rest de l’ARC était backporté sur 10.6 et iOS 4, les références faibles ne peuvent pas être utilisées du tout.