如何将用户输入信息保存在列表中并保存在本地?

问题描述 投票:0回答:0

我正在为 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()
    }
}

swift list swiftui core-data watchos
© www.soinside.com 2019 - 2024. All rights reserved.