Sobes.tech
Junior — Middle

Məlumatların saxlanması üçün dinamik yaddaş ayırmanın istifadəsinə nümunə göstərə bilərsinizmi?

sobes.tech Süni İntellekt

AI-dan cavab

iOS-da dinamik yaddaş ayırması üçün tez-tez avtomatik yaddaş idarə edən siniflər, məsələn, NSMutableArray və ya Swift Array istifadə olunur. Amma daha aşağı səviyyədə danışsaq, malloc və free funksiyalarını istifadə edərək məlumat strukturu üçün yaddaş ayıra bilərik.

Swift-də UnsafeMutablePointer istifadə edərək dinamik struktur massivinin nümunəsi:

struct Point {
    var x: Int
    var y: Int
}

let count = 5
let pointer = UnsafeMutablePointer<Point>.allocate(capacity: count)

for i in 0..<count {
    pointer.advanced(by: i).initialize(to: Point(x: i, y: i * 2))
}

// Məlumatlardan istifadə
for i in 0..<count {
    let point = pointer.advanced(by: i).pointee
    print("Point \(i): (\(point.x), \(point.y))")
}

// Yaddaşı azad etmək
pointer.deinitialize(count: count)
pointer.deallocate()

Bu yanaşma yaddaşın əl ilə idarə olunmasına imkan verir və aşağı səviyyəli API-lərlə işləyərkən və ya performansı optimallaşdırarkən faydalıdır.