ARC tarafından sunulan özellikler için iki yeni bellek yönetimi özelliği vardır strongve weak.
Bunun dışında copy, tamamen farklı bir şey olduğu gibi, vs ve vs arasında herhangi bir fark var mı?strongretainweakassign
Anladığım kadarıyla, buradaki tek fark , işaretçiye weakatayacak nil, ancak assignolmayacak, bu da bırakıldıktan sonra işaretçiye bir mesaj gönderdiğimde programın çökeceği anlamına geliyor. Ama kullanırsam weak, bu asla gerçekleşmeyecek, çünkü mesaj göndermek nilhiçbir şey yapmaz.
Ben arasında herhangi farklar hakkında bilmiyorum strongve retain.
Kullanmalıyım bir sebep var mı assignve retainyeni projelerde veya kaldırılma tür?
weakve strong) ve 4 değişken süresi kalifiye ( __strong, __weak, __unsafe_unretained, __autoreleasing). Aşağıdaki ARC Notlarına bakın.
assignARC ile derlerken kullanmanın bir hata olduğu bir sürümü vardı. Bu konuda silinmiş birçok cevap var. Görünüşe göre bu son sürümden önce değişti. unsafe_unretainederken benimseyenlerin çoğunun tercih ettiği özelliktir. unsafe_unretainedGeçerli bir özellik olduğunu kanıtlamak için Apple'ın "Bazı Sınıflar İçin Güvenli Olmayan Referansları Kullan" alt başlığı altındaki "Verileri Kapsülleme" bölümündeki "Objective-C ile Programlama" konusuna bakın. Şunu söylüyor: "Bir mülk için, bu, güvensiz_güvenilmeyen özellik kullanmak anlamına gelir:"
strong,weakveunsafe_unretained.