Назад к задачам
Junior — Senior
6

Найдите дефекты в Swift‑коде

Компании, где спрашивали:

Альфа-БанкАльфа-Банк
Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

В задании требуется проанализировать представленный фрагмент Swift‑кода и указать потенциальные проблемы, связанные с управлением памятью и жизненным циклом объектов. Обратите внимание на использование unowned и длительные задержки в главном потоке.

class Service {
    func fetchData(completion: @escaping (String) -> Void) {
        DispatchQueue.main.asyncAfter(deadline: .now() + 20.0) {
            completion("hello world")
        }
    }
}

class ViewController: UIViewController {
    let dataService = Service()
    let outputLabel = UILabel()

    override func viewDidLoad() {
        super.viewDidLoad()
        dataService.fetchData { [unowned self] (result) in
            self.outputLabel.text = result
        }
    }
}