Извините за форматирование (не могу понять, правильно)
Я новичок в Swift4. Мне удалось получить некоторые данные JSON из URL. Хотя я могу распечатать эту информацию, я не смог вывести эту информацию на свою раскадровку.
У меня есть кнопка, и когда я нажимаю на нее, данные извлекаются и печатаются в консоли. Я хочу поместить эти данные в метку.
Я думал, что это будет так же просто, как
self.Label2.text = title
Но контент не добавляется в Label2. (фактически ярлык исчезает при нажатии на кнопку)
Когда я помещаю текст в метку, содержимое меняется. Только не тогда, когда я пытаюсь вывести свою константу в раскадровку.
Может кто-нибудь сказать мне, что я делаю не так? Или укажи мне правильное направление. Заранее спасибо!
Я попытался установить значение Label2 непосредственно в функцию getJsonFromUrl.
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var Label1: UILabel!
@IBOutlet weak var Label2: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
func getJsonFromUrl(){
navigationItem.title = "REST API"
guard let url = URL(string: "https://gipaa.nl/com_json.php") else {return}
let task = URLSession.shared.dataTask(with: url) { (data, response, error) in
guard let dataResponse = data,
error == nil else {
print(error?.localizedDescription ?? "Response Error")
return }
do{
//here dataResponse received from a network request
let jsonResponse = try JSONSerialization.jsonObject(with:
dataResponse, options: [])
guard let jsonArray = jsonResponse as? [[String: Any]] else{
return
}
guard let title = jsonArray[0]["name"] as? String else{ return }
print(title)
} catch let parsingError {
print("Error", parsingError)
}
}
task.resume()
}
@IBAction func Button(_ sender: Any) {
view.backgroundColor = UIColor.purple
getJsonFromUrl()
self.Label2.text = title
self.Label1.text = "hmm"
}
}
Значение названия в Label2