我正在开发SWIFT中的一个iOS应用程序,这是一个学习iOS/移动开发人员的个人项目.这是一个库存跟踪系统,用户输入自己的库存,然后显示出来.
在AddInventoryView
上工作,这是通过InventoryView
的NavigationStack
进入的.在AddInventoryView
中,我希望用户能够添加详细信息,然后将新的库存保存到应用程序中-我只希望保存按钮/标签/文本在AddInventoryView
中的所有字段都已填写时出现,并且当用户点击保存时,我希望库存保存到核心数据中,并将视图重置为InventoryView
.我正在努力设置both保存并链接到另一个视图的按钮/标签/字符串.库存正被保存到核心数据.
AddInventoryView:
import SwiftUI
import CoreData
struct AddInventoryView: View {
@Environment(\.managedObjectContext) var managedObjectContext
@State var name = ""
@State var cost = ""
@State var volume = ""
var body: some View {
ZStack {
NavigationStack {
Form {
//section with TextField's storing input
}
.navigationTitle("Add Inventory")
}
// if/else to only display once TextField's have values
if(name != "" && cost != "" && volume != "") {
Button("Save") {
self.saveInventory(name: name, cost: cost, volume: volume)
}
}
}
}
func saveInventory(name: String, cost: String, volume: String) {
// Save input to core data func
}
}
我曾try 使用NavigationLink而不是按钮,但之后我很难保存到核心数据.使用NavigationLink还使得在填写字段后很难显示only,除非我应该使用一种比if/Else更好的方法来显示按钮.我很难找到一种链接回InventoryView and保存到核心数据的方法.它不一定是一个按钮,但我希望它是一个按钮.