私のメイン画面には、アプリ内で発生しているすべてのイベントを表示したいスクロール ビューがあります。現在、以下に示すように、これをグローバル変数として定義しています。
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")
}
}
}
}
}
}
どんな助けでもいただければ幸いです