Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Xcode中按JSON显示数据库中的数据_Json_Swift_Database_Xcode_Label - Fatal编程技术网

在Xcode中按JSON显示数据库中的数据

在Xcode中按JSON显示数据库中的数据,json,swift,database,xcode,label,Json,Swift,Database,Xcode,Label,类ViewController:UIViewController{ @IBOutlet变量fname:UILabel struct Class: Codable { let FName: String let LName: String enum CodingKeys: String, CodingKey { case FName = "first_name" case LName = "last_name" } } overr

类ViewController:UIViewController{ @IBOutlet变量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帮不上我的忙。

试试这个

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
  }
}

您有一个
Classe
对象数组。你想为你的标签展示什么?从哪里开始?只有在确定可以将数据放入可编码模型的情况下,才应该使用
JSONDecoder
读取JSON数据。换句话说,使用
JSONSerialization
@Larme读取数据会更容易。我正试图从数据库中获取数据,我做到了。我从数据库中获取名字和姓氏,并希望将其显示在显示器上。只是根据您的代码,您应该有3,4,n
Class
对象,因为
Class
是一个数组。因此,如果你想放第一个,如果让fName=classes.first.fName{self.fName.text=fName},如果你想放第二个,用
classes.first.fName
替换
classes[1].fName
,等等。你太棒了,兄弟,现在可以了。非常感谢:)@我在等你的回答。我已经试过了,但没用。