Sobes.tech
Junior — Middle

Proqramda məlumatların saxlanması üçün yaddaş strukturu necə təşkil olunub?

sobes.tech Süni İntellekt

AI-dan cavab

iOS-da, proqramda məlumatların saxlanması üçün yaddaş strukturu adətən aşağıdakı kimi təşkil olunur:

  • Yığın (Stack): yerli dəyişənləri və funksiyaların çağırışlarını saxlayır. Tez yaddaş ayırma və sərbəst buraxma.
  • Yığın (Heap): funksiyanın çağırışından daha uzun müddət yaşayan obyektlər və strukturlar üçün dinamik yaddaş ayırma.
  • Məlumat seqmenti: statik və qlobal dəyişənlər üçün.
  • Kod seqmenti: proqramın maşın kodu üçün.

Məsələn, Swift və ya Objective-C-də sinif obyekti yaratdığınız zaman, onun üçün yaddaş yığında ayrılır və obyektə istinad yığında saxlanılır. iOS-də avtomatik yaddaş idarəetməsi ARC (Automatic Reference Counting) vasitəsilə həyata keçirilir, bu da obyektlərə olan istinadların sayını izləyir və artıq ehtiyac olmadıqda yaddaşı sərbəst buraxır.

Nümunə:

class Person {
    var name: String
    init(name: String) {
        self.name = name
    }
}

func createPerson() {
    let person = Person(name: "Ivan") // obyekt yığında, istinad yığında
    print(person.name)
} // funksiyadan çıxışda, istinad silinir, ARC obyektə başqa istinadlar yoxdursa, sərbəst buraxır