使用swiftui怎么发送异步请求
时间: 2023-03-19 20:21:07 浏览: 158
SwiftUI 与 Combine编程
4星 · 用户满意度95%
在SwiftUI中发送异步请求可以通过以下步骤:
1. 创建一个遵循 `ObservableObject` 协议的 `class` 用来保存请求数据。这个class需要包含一个 `@Published` 的属性,当异步请求成功时,会更新此属性。
```
class ViewModel: ObservableObject {
@Published var data: [String] = []
func fetchData() {
// 发送异步请求
// 请求成功后更新data属性
}
}
```
2. 在视图中创建此 `class` 的实例,并使用 `onAppear` 修饰符来触发请求。当视图加载时,`onAppear` 修饰符将调用 `fetchData` 函数。
```
struct MyView: View {
@StateObject var viewModel = ViewModel()
var body: some View {
List(viewModel.data, id: \.self) { item in
Text(item)
}
.onAppear {
viewModel.fetchData()
}
}
}
```
通过以上步骤,当 `MyView` 被加载时,`viewModel` 将发送异步请求并更新 `data` 属性。最后,`List` 将显示请求的数据。
阅读全文