Sobes.tech
Junior — Middle

Bir nesne veya yapının bellek yığınında olmadığını ne zaman söyleyebiliriz?

sobes.tech yapay zeka

AI'dan gelen yanıt

Bir nesne veya yapı, dinamik olarak tahsis edildiyse veya fonksiyonun çalışma süresinden uzun süren bir yaşam süresine sahipse, bellek yığınına (stack) yerleştirilmez.

iOS'ta (ve genel olarak Swift/Objective-C'de):

  • Yerel değişkenler ve yapılar genellikle yığında yer alır.
  • Sınıf nesneleri (referans tipleri) yığında (heap) tahsis edilir ve yığında sadece onlara referans saklanır.
  • Bir nesne alloc/init ile Objective-C'de veya Swift'te class kullanılarak oluşturulursa, yığında yer alır.

Swift'te örnek:

func örnek() {
    let yerelYapı = MyStruct() // yığında
    let nesne = MyClass()       // nesne yığında, referans yığında
}

Bu nedenle, bir değişken bir sınıf nesnesine referanssa, nesne kendisi yığının dışında, yığında bulunur.