状態でUIを切り替えてみる
enumを使って、ロード中、成功、エラーの分岐処理を作りswitchを使って、Objextを切り替えるのをやってみました。
英語で、loading(ロード中....)、success(成功!)、failed(失敗した!)を意味するenum
を定義して今回使ってます。
enum LoadingState {
case loading, success, failed
}
全体のコード
import SwiftUI
struct LoadingView: View {
var body: some View {
Text("Loading...")
}
}
struct SuccessView: View {
var body: some View {
Text("Success!")
}
}
struct FailedView: View {
var body: some View {
Text("Failed.")
}
}
struct SwitchingView: View {
enum LoadingState {
case loading, success, failed
}
@State private var loadingState = LoadingState.failed
var body: some View {
switch loadingState {
case .loading:
LoadingView()
case .success:
SuccessView()
case .failed:
FailedView()
}
}
}
#Preview {
SwitchingView()
}
Previewの画面:
最後に
今回は、enumを使って状態の管理をして、表示するObjectのロジックを作ってみました。こちらの海外の動画がSwiftUI学習の参考になるのでよく見ています。