Показать данные из базы данных на дисплее для JSON в Xcode

класс ViewController: UIViewController { @IBOutlet var fname: UILabel!

struct Class: Codable {

    let FName: String
    let LName: String

    enum CodingKeys: String, CodingKey {
        case FName = "first_name"
        case LName = "last_name"
    }
}
override func viewDidLoad() {
    super.viewDidLoad()

    let url = URL(string: "https://domain(^_^).com/users.php")

    URLSession.shared.dataTask(with: url!, completionHandler: {(data, response, error) in
        guard let data = data, error == nil else { print(error!); return }

        let decoder = JSONDecoder()
        let classes = try! decoder.decode([Class].self, from: data)

        for myClass in classes {
            print(myClass.FName)
            print(myClass.LName)
        }
        DispatchQueue.main.async {
            self.fname.text = "I don't know what to wirte here to change the label to the data which I get fron database"
        }
    }
        ).resume()
}

}

В конце концов, я просто не знаю, как переписать текст моей метки в данные, которые я получаю из базы данных. Я пытался отобразить данные в TableView, но у меня не получилось, единственный способ получить помощь здесь, YouTube не смог мне помочь.

У вас есть массив из Classe объектов. Что вы хотите показать для своего лейбла? Откуда?

Larme 18.03.2019 14:09

Вы должны читать данные JSON с помощью JSONDecoder, только если вы уверены, что можете вписать данные в свою кодируемую модель. Другими словами, с JSONSerialization будет проще читать данные.

El Tomato 18.03.2019 14:14

@Larme Я пытаюсь получить данные из базы данных, и я это сделал. Я получаю имя и фамилию из базы данных и хочу отобразить их на дисплее.

Amed 18.03.2019 16:31

Просто согласно вашему коду у вас должно быть 3, 4, n Class объектов, потому что classes — это массив. Итак, если вы хотите поставить первое, if let fName = classes.first.FName { self.fname.text = fName}, если хотите второе, замените classes.first.FName на classes[1].FName и т. д.

Larme 18.03.2019 16:38

ты классный братан, теперь это работает. Большое спасибо :). @Ларме

Amed 22.03.2019 10:04
Как сделать HTTP-запрос в Javascript?
Как сделать HTTP-запрос в Javascript?
В JavaScript вы можете сделать HTTP-запрос, используя объект XMLHttpRequest или более новый API fetch. Вот пример для обоих методов:
1
5
95
1

Ответы 1

Попробуй это!!

for myClass in classes {

        print(myClass.FName)
        print(myClass.LName)

  DispatchQueue.main.async {
        self.fname.text = myClass.FName
        self.lname.text = myClass.LName // In case you have second label
  }
}

спасибо за Ваш ответ. Я уже пробовал это, но это не сработало.

Amed 19.03.2019 22:15

Другие вопросы по теме