前提・実現したいこと
某カードゲームでのダメージ計算用のアプリを作成しています.
コイントスの機能を作成し,その結果をアラートで表示したいと考えています.
発生している問題・エラーメッセージ
コイントス機能を実行してもアラートが表示されません.
該当のソースコード
swift
1import SwiftUI 2 3 4struct ContentView: View { 5 @State private var opponentdamage = 0 6 @State private var owndamage = 0 7 @State private var showAlert = false 8 @State private var coin = "表" 9 10 11 var body: some View { 12 NavigationView{ 13 Form { 14 Section(header: Text("相手のバトルポケモン")){ 15 Stepper(value: $opponentdamage, in: 0...990, step: 10){ 16 Text("(opponentdamage, specifier: "%d")") 17 } 18 } 19 20 Section(header: Text("相手のベンチポケモン")){ 21 Stepper(value: $opponentdamage, in: 0...990, step: 10){ 22 Text("(opponentdamage, specifier: "%d")") 23 } 24 } 25 } 26 .toolbar{ 27 ToolbarItem(placement: .navigationBarTrailing) { 28 Button("コイントス") { 29 print("コイントス") 30 let randomBool = Bool.random() 31 self.showAlert.toggle() 32 print(showAlert) 33 34 if randomBool { 35 coin = "表" 36 } 37 else{ 38 coin = "裏" 39 } 40 } 41 .alert(isPresented: $showAlert) { 42 Alert( 43 title: Text("コイントス結果"), 44 message: Text(coin), 45 dismissButton: .default(Text("OK")) 46 ) 47 } 48 } 49 } 50 } 51 52 Form { 53 Section(header: Text("自分のバトルポケモン")){ 54 Stepper(value: $owndamage, in: 0...990, step: 10){ 55 Text("(owndamage, specifier: "%d")") 56 } 57 } 58 59 Section(header: Text("自分のベンチポケモン")){ 60 Stepper(value: $owndamage, in: 0...990, step: 10){ 61 Text("(owndamage, specifier: "%d")") 62 } 63 } 64 } 65 } 66} 67 68struct ContentView_Previews: PreviewProvider { 69 static var previews: some View { 70 ContentView() 71 } 72}
試したこと
さまざまなサイトを拝見しましたが,基本的には現在のコードのような記述になっておりました.
補足情報(FW/ツールのバージョンなど)
iMac bigsur 11.2.1
xcode 12.4
swift 5
初のiosアプリ作成で至らぬ点も多々ありますが,何卒よろしくお願いいたします.
回答1件
あなたの回答
tips
プレビュー