我将来自核心数据数据库的对象推送到带有文本字段的详细信息页面。
当用户更改文本字段中的文本并按保存时,更改应保存到核心数据数据库中。
问题:我不知道如何修改/更新/更改现有的核心数据实体。
我可能需要通过 @FetchRequest 获取原始文件,但每次尝试时都会遇到一些问题。
问题 1:假设实体将 object.id 作为 UUID,我如何在 SwiftUI 中获取该对象?
问题 2:如何使用文本字段的更改内容覆盖获取的对象?
struct ProductDetail: View {
@State var barcode: Barcode
@Environment(\.presentationMode) var presentationMode
@Environment(\.managedObjectContext) var context
//let datahandler = Datahandler()
var body: some View {
VStack {
HStack {
Text("Barcode: ")
Spacer()
TextField("Barcode", text: Binding($barcode.code, ""))
.textFieldStyle(RoundedBorderTextFieldStyle())
.frame(width: 250, alignment: .trailing)
}
HStack {
Text("Amount: ")
Spacer()
TextField("Amount", text: Binding($barcode.amount, ""))
.textFieldStyle(RoundedBorderTextFieldStyle())
.frame(width: 250, alignment: .trailing)
.keyboardType(.numberPad)
}
HStack{
Button("Back") {
self.presentationMode.wrappedValue.dismiss()
}
Spacer()
Button("Save"){
//self.datahandler.updateBarcode(barcode: self.object) …
Run Code Online (Sandbox Code Playgroud)