Я хочу вернуть результат, который рассчитывается из HelperConnection.shared.getInfo (). Но я всегда получаю ноль в переменной результата (также после group.wait). Как остановить текущее выполнение функции, пока не завершится HelperConnection.shared.getInfo ()?
func install(lists:[String]) {
let group = DispatchGroup()
var result : String!
if lists.count != 0 {
for i in lists {
group.enter()
HelperConnection.shared.getInfo(str: i, completion: { (str) in
if str == "1" {
DispatchQueue.main.async {
result = str
group.leave()
}
} else {
DispatchQueue.main.async {
result = "Hello"
group.leave()
}
}
})
}
}
print(result)
print(".........")
group.wait(timeout: .now() + 5)
print(result)
return result
}