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.