目次
概要
列挙体を作成して、その列挙体で項目の一覧を作成したいときなどに使える。
列挙体でFor文を作成できるので、その点は便利になったなと。
ソースコード
import SwiftUI
@main
struct TestApp: App {
@UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
var body: some Scene {
WindowGroup {
EnumAllView()
}
}
}
import Foundation
enum MagicAttribute: String, CaseIterable {
case fire = "メラ"
case ice = "ヒャド"
case wind = "バギ"
case electro = "デイン"
case light = "イオ"
case dark = "ドルマ"
case earth = "ジバリア"
case death = "ザキ"
}
import SwiftUI
struct EnumAllView: View {
var body: some View {
Spacer()
ForEach(MagicAttribute.allCases, id:\.self) { attribute in
Text(attribute.rawValue)
Spacer()
}
}
}
スクリーンショット
詳細
まず、正確にはドラクエの魔法は、ジバリアは「地面」というより「地雷」だし、イオは「光」というより「爆発」だが、その点はご愛嬌。
列挙体にCaseIterableを追加することでallCasesが使えるようになる。
これを使用するとMagicAttribute.allCasesを繰り返し文に使うことができる。
結果、列挙体の内容をForeachを使用して画面に表示できた。