【发布时间】:2020-11-29 11:51:15
【问题描述】:
您好,对以下代码有疑问:
struct ContentView: View {
@State private var listItems = [Item]()
let savedItems = UserDefaults.standard.string(forKey: "Items") ?? "error"
var body: some View {
NavigationView{
List{
ForEach(listItems){ item in
Text(item.name)
}
NavigationLink(
destination: AddView(listItems: $listItems),
label: {
Text(" Add")
.foregroundColor(.blue)
})
}
.navigationBarTitle("MyApp")
}
}
}
struct AddView: View {
@State var text:String = ""
@Binding var listItems: [Item]
var body: some View {
VStack{
TextField("Name", text: $text).padding().background(Color(.systemGray5)).frame(width: 400,alignment: .center).cornerRadius(20)
Button(action: {
listItems.append(Item(name: text, image: "Gif"))
print(listItems)
UserDefaults.standard.set(listItems, forKey: "Items")
}, label: {
Text("Add")
})
}
}
}
如果我在 AddView 中附加某些内容,我想将其保存在 UserDefaults 中,并在应用程序启动时自动附加。但我不知道该怎么做。你能帮助我吗 ? PS:我正在使用 AppDelegate 和 SceneDelegate。
【问题讨论】:
标签: ios swift swiftui nsuserdefaults swiftui-list