Sobes.tech
Middle

Šta znate o listi za hvatanje u Swift-u?

sobes.tech АИ

Одговор од АИ

U Swift-u, lista za hvatanje se koristi u zatvaranjima (closures) za upravljanje hvatanjem promenljivih iz okruženja, posebno da bi se izbegli ciklusi jakih referenci (retain cycles).

Lista za hvatanje se zapisuje u uglastim zagradama pre tela zatvaranja i omogućava da se odredi kako će promenljive biti uhvaćene — jakom referencom (strong), slabom (weak) ili bez vlasnika (unowned).

Primer:

class ViewController {
    var name = "Swift"
    lazy var closure: () -> Void = { [weak self] in
        guard let self = self else { return }
        print(self.name)
    }
}

Ovde, [weak self] sprečava održavanje jake reference na self unutar zatvaranja, što pomaže u izbegavanju curenja memorije.

Dakle, lista za hvatanje je alat za kontrolu životnog ciklusa objekata uhvaćenih zatvaranjem.