一个为 SwiftUI 视图提供必要状态修饰器的扩展。
ViewState
是一个 SwiftUI 扩展,它引入了状态修饰器来管理常见的视图状态。ViewState
简化了显示加载器、表示空状态和展示错误的过程。
您可以使用 Swift Package Manager 将 ViewState
作为依赖项添加到您的项目中,方法是将其添加到您的 Package.swift
的 dependencies 值中。
dependencies: [
.package(url: "https://github.com/kevinhermawan/ViewState.git", .upToNextMajor(from: "1.2.2"))
]
或者,在 Xcode 中
File
-> Swift Packages
-> Add Package Dependency...
https://github.com/kevinhermawan/ViewState.git
Add Package
。import SwiftUI
import ViewState
struct Example: View {
@State private var viewState: ViewState? = .loading
var body: some View {
VStack {
Text("This is the main content.")
}
.when(viewState, is: .loading) {
ProgressView()
.progressViewStyle(.circular)
}
.when(viewState, is: .empty) {
ContentUnavailableView {
Text("There is no data to display.")
}
}
.whenError(viewState) { message in
ContentUnavailableView {
Text(message)
}
}
}
}