Создайте serverResponse
вне метода getResponse(serverName:)
и используйте наблюдатель свойства didSet
, чтобы наблюдать изменения в serverResponse
, т.е.
var serverResponse: String = "No Response" {
didSet {
print("newValue: ", serverResponse)
//add the code here..
}
}
didSet
будет вызываться каждый раз, когда происходит изменение serverResponse
. Итак, любой код, который вы хотите запустить после получения serverResponse
от API, напишите здесь.
Кроме того, нет необходимости возвращать что-либо из метода getResponse(serverName:)
. Итак, метод теперь будет выглядеть так:
func getResponse(serverName: String) {
let serverURL = "http://" + serverName + ":3000"
if let url = URL(string: serverURL) {
URLSession.shared.dataTask(with: url) { data, response, error in
if let data = data {
if let jsonString = String(data: data, encoding: .utf8) {
serverResponse = jsonString
print(jsonString)
}
}
}.resume()
}
}