POINT 1
Вы должны получить ошибку в строке ниже
let static shared = Service()
, потому что статическое ключевое слово должно идти первым, а затем объявление.
static let shared = Service()
POINT 2
Реализация функции onDownload с помощью обработчика завершения
func doDownload(onCompleted: @escaping ()->()) {
onCompleted()
}
Вызовите функцию, как показано ниже
let service = Service.shared
service.doDownload { () in
print("Called in completion Handler")
}
для получения более подробной информациио замыканиях перейдите по ссылке ниже. Затворы