Sobes.tech
Back to tasks
Junior — Senior
57

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

Companies where asked:

Альфа-БанкАльфа-Банк
Get help with live coding in real time with Sobes Copilot
Task condition

В задании требуется проанализировать представленный фрагмент 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
        }
    }
}