1

私のメイン画面には、アプリ内で発生しているすべてのイベントを表示したいスクロール ビューがあります。現在、以下に示すように、これをグローバル変数として定義しています。

struct matchEvent: Identifiable{
    var id = UUID()
    
    var time: String
    var event: String
    var player: String
}

var matchEvents = [matchEvent]()

func addEvent(time: String, event: String, player: String){
    matchEvents.append(matchEvent(time: time, event: event, player: player))
}

この関数addEvent()は、アプリ内の他のクラスのさまざまなメソッド内から呼び出されるため、グローバルにした理由です。配列が更新されたときにアプリでスクロール ビューを更新するにはどうすればよいmatchEventsですか? ScrollView コードを以下に示します。

struct eventList: View{
    var body: some View{
        ScrollView(.horizontal){
            HStack(matchEvents){
                ForEach(matchEvents){event in
                    Button(event.event){
                        print("Clicked")
                    }
                }
            }
        }
    }
}

どんな助けでもいただければ幸いです

4

1 に答える 1