Hi,
I have 2 variables:
var hallOfFame = “”
var hallOfFameGrupy = “”
and 2 threads:
func downloadRankingPersonal(adress : String, adress2 : String, completed: @escaping () → ()){
let url = URL(string: adress)
let idGry = self.wybranaGra!.id!
print(“Startuje 1 wątek”)
URLSession.shared.dataTask(with: url!) { (data, response, error) in
if error == nil {
var statusRanking = “”
do {
Alamofire.request(adress, method: .get, parameters: nil)
.responseJSON { response in
let jsonResponse = JSON(response.result.value!)
if (jsonResponse[“stanyGry”][0][“email”].string == “” || jsonResponse[“stanyGry”][0][“email”].string == nil){
statusRanking = “0”
} else{
statusRanking = jsonResponse[“stanyGry”][0][“email”].string!
self.hallOfFame = statusRanking
}
}
.responseString { response in
if let error = response.result.error {
print(error)
}
if let value = response.result.value {
print(value)
}
}
DispatchQueue.main.async {
self.hallOfFame = statusRanking
self.downloadRankingGroup(adress: adress2){
}
completed()
}
} catch {
print("JSON ERROR")
self.hallOfFame = ""
}
}
}.resume()
}
func downloadRankingGroup(adress : String, completed: @escaping () → ()){
let url = URL(string: adress)
let idGry = self.wybranaGra!.id!
print(“Startuje 2 wątek”)
print(“adress 2: (adress)”)
URLSession.shared.dataTask(with: url!) { (data, response, error) in
if error == nil {
var statusRanking = “”
do {
Alamofire.request(adress, method: .get, parameters: nil)
.responseJSON { response in
let jsonResponse = JSON(response.result.value!)
let grupy = jsonResponse["ranking"]["grupy"].array
if (grupy!.count > 0) {
statusRanking = "1"
self.hallOfFameGrupy = statusRanking
print("ilosc rekordow: \(grupy!.count)")
} else {
statusRanking = "0"
}
}
.responseString { response in
if let error = response.result.error {
print(error)
}
if let value = response.result.value {
print(value)
}
}
DispatchQueue.main.async {
self.hallOfFameGrupy = statusRanking
if(self.hallOfFame != "" && self.hallOfFameGrupy != "") {
self.checkCodeRankingAlert()
}
completed()
}
} catch {
print("JSON ERROR")
self.hallOfFameGrupy = ""
}
}
}.resume()
}
After running these two threads, I would like to complete the following variables: hallOfFame and hallOfFameGrupy, but unfortunately the results of threads are not saved in variables. CurrentQueue
Does anyone know how to fix it?