【发布时间】:2021-08-11 03:10:29
【问题描述】:
我想将新数据添加到项目中的列表中 但我做不到
我有一个用于显示产品列表的 ContentView.swift 视图 在另一个视图(ShopView)中,我想将数据添加到产品数组 我的产品数组和我的 addProduct() 函数 在 Products.swift 文件中
请帮帮我 谢谢
ContentView.swift
struct ContentView: View {
@ObservedObject var cart = Products()
var body: some View {
NavigationView{
List {
ForEach(cart.products) { product in
Text("\(product.name) \(product.price)$")
}
}
.navigationBarItems(
trailing: NavigationLink(destination: Shop()) {
Text("Go Shop")
})
.navigationBarTitle("Cart")
}
}
}
Product.swift
struct Product: Identifiable {
var id = UUID()
var name: String
var price: Int
}
Shop.swift
struct Shop: View {
@ObservedObject var cart = Products()
var body: some View {
VStack{
Button("Add Product To Cart") {
cart.addProduct(product: Product(name: "Name", price: 399))
}
}
}
}
Products.swift
class Products: ObservableObject {
@Published var products = [Product]()
func addProduct(product: Product) {
products.append(product)
print("Product Added")
}
}
【问题讨论】:
标签: swift xcode list swiftui swiftui-list