Sobes.tech
Junior — Middle

Můžete uvést příklad použití Capture List v programovacím jazyce?

sobes.tech AI

Odpověď od 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 захватывается слабой ссылкой, чтобы избежать удержания объекта и возможной утечки памяти.