Junior — Middle
Ar galite pateikti pavyzdį, kaip naudoti Capture List programavimo kalboje?
sobes.tech AI
Atsakymas iš AI
В языке Swift Capture List используется в замыканиях (closures) для управления захватом переменных из внешнего контекста. Это особенно важно для предотвращения циклов сильных ссылок (retain cycles) при работе с классами.
Пример:
class ViewController {
var name = "Main"
func setupClosure() {
let closure = { [weak self] in
guard let self = self else { return }
print("Hello, \(self.name)!")
}
closure()
}
}
Здесь [weak self] в Capture List указывает, что self захватывается слабой ссылкой, чтобы избежать удержания объекта и возможной утечки памяти.