2011-08-30 26 views
44

Eğer Mike Ash'ın "Zeroing Weak References" writeup okumam doğruysa, zayıf referanslar ARC'siz assign referansları gibidir. Ancak, başvurulan nesne ayrılmışsa, "sarkan bir işaretçiyi" almak yerine (ayrılmış bir nesneye işaret eden bir işaretçi), işaretçi nil olarak ayarlanır.ARC'de Zeroing Zayıf Referanslar

Bu hak var ve bunu, weak veya assign (ARC etkinken) olarak işaretlenmiş herhangi bir özellikte gerçekleşir mi?

Bu doğruysa, bu SIGABRT'lerin çoğunu ortadan kaldırabilir.

cevap

38

Çoğunlukla doğru, ancak assign özellikleri hala oldukları gibi davranıyor, yalnızca weak olanlar sıfırlanıyor. Bir başka uyarı ise zayıf referansların sıfırlanmasının sadece Mac OS X 7 10.7 ve iOS ≥ 5'te kullanılabileceğidir. ARC'nin geri kalanı 10.6 ve iOS 4'e geri çekilirken, zayıf referanslar bu işletim sistemlerinde hiçbir şekilde kullanılamaz.

+6

Bunun için teşekkürler @cobbal. En az XCode 4.2 beta sürümünde, dağıtım hedefiniz

+1

Teşekkür ederim @Yar, bu hatayı alıp nereden geldiğini bilmiyordum! – Pascal

+1

Uyumluluk hakkında mükemmel nokta. – jlehr