1.获取数据
@State var personList = [Person]()
func load(){
guard let url = URL(string: "http://192.168.174.243:8080/personlist") else {
print("无效的地址!")
return
}
let request = URLRequest(url: url)
URLSession.shared.dataTask(with: request) { data, response, error in
if let data = data {
if let response = try? JSONDecoder().decode([Person].self, from: data) {
DispatchQueue.main.async {
self.personList = response
}
return
}
}
}.resume()
}
2.使用数据
var body: some View {
NavigationView {
List {
ForEach (personList) { person in
NavigationLink(destination: ContentView(person: person)){
VStack(alignment: .leading) {
Text(person.name)
.font(.title)
Text("\(person.age)")
.font(.title2)
}
}
}
}.onAppear(perform: load)
.navigationTitle("demo")
}
}