Swift, artık referans alınmayan ve dolayısıyla artık gerekmeyen nesneleri ayırmak için "Otomatik Referans Sayma" kullanır.Swift'de ARC taşması olasılığı?
Eğer bir sınıfın yeni bir örneğini oluşturmak her zaman, ARC o örneğe hakkındaki bilgileri saklamak için bellek yığını ayırır: Swift dil kılavuzu [1] Aşağıdaki belirtiyor. Bu bellek, bu örnekle ilişkili depolanmış özelliklerin [...] değerleri hakkında bilgi tutar.
Referans sayımın bir tam sayı olarak saklandığını varsayalım. Referans sayacı daha sonra taşma sorunu yaşayabilir mi? Eğer durum böyleyse, bu benim programımda ne gibi etkiler yaratacaktır ki, başkaları tarafından referans alınan nesneler sadece ayrılmakta mıdır?
Örnek olarak: Sayaç, işaretsiz bir 2 baytlık tamsayıysa, bu, 130 k civarında bir nesneye (doğru bir referans sayımına sahipken) üst referans sınırını koyar. Bu üst sınıra ulaşıldığında ve nesne bir kez daha referans alındığında, bu sayıcıyı bir kere artırarak tekrar 0 olarak ayarlar.
4294967296 referanslar? Wowz. Bunu yapmak için yeterli belleğin var mı? – Zizouz212
Sorunun oldukça varsayımsal bir sorun olduğunun farkındayım, bu durumda davranış beni yine de ilgilendirir;) – Benjamin