我正在为 watchOS 创建一个应用程序,用户可以为 A 队或 B 队加分,直到某个团队获得 18 分。然后用户可以选择重新启动或保存比赛分数。如果他想保存比分,他必须输入球员 1 和 2(A 队)以及球员 3 和 4(B 队)的名字。
所以我想拥有所有这些信息(A 队积分,B 队积分,A 队两名球员的姓名,B 队两名球员的姓名)并将其保存在另一个屏幕上的列表中,该屏幕将保存在本地用户可以根据需要删除。
最好的方法是什么?核心数据?
这就是我现在拥有的:
import SwiftUI
struct Dados: Identifiable {
let id = UUID()
var pointsHome: Int
var name1: String
var name2: String
var pointsAway: Int
var name3: String
var name4: String
}
struct ListHistoryView: View {
@State var values: [Dados] =
[
Dados(pointsHome: 0, name1: "", name2: "", pointsAway: 0, name3: "", name4: "")
]
var body: some View {
NavigationView {
List {
ForEach(values){ item in
HStack {
Image(systemName: "soccerball")
VStack {
Text("Home Team: \(item.pointsHome)")
Text("(\(item.name1) & \(item.name2))")
Text("Away Team: \(item.pointsAway)")
Text("(\(item.name3) & \(item.name4))")
}.padding(EdgeInsets(top: 5, leading:0, bottom:5, trailing: 0))
.frame(maxWidth: .infinity, maxHeight: 80, alignment: .leading)
}
.font(
.system(size: 15).weight(.bold)).frame(alignment: .leading)
.foregroundColor(.cyan)
}
}
.navigationTitle("Matches History")
}
}
}
struct ListHistoryView_Previews: PreviewProvider {
static var previews: some View {
ListHistoryView()
}
}