core-data - SwiftUI TextField CoreData - 更改属性的数据
问题描述
我正在尝试使用 TextField 来更改 CoreData 属性的数据,而我想出的一切都没有成功。有一个类似的问题(如下所列),我将发布正确答案的代码来解释它。
struct ItemDetail: View {
@EnvironmentObject var itemStore: ItemStore
let idx: Int
var body: some View {
NavigationView {
Stepper(value: $itemStore.items[idx].inventory) {
Text("Inventory is \(self.itemStore.items[idx].inventory)")
}
// Here I would like to do this
// TextField("PlaceHolder", $itemStore.items[idx].name)
// That doesn't work... also tried
// TextField("PlaceHolder", $name) - where name is a @State String
// How can you then automaticlly assign the new value of @State name
// To $itemStore.items[idx].name?
.padding()
.navigationBarTitle(itemStore.items[idx].name)
}
}
}
原始问题:
解决方案
我现在让它工作了。
struct ItemDetail: View {
@EnvironmentObject var itemStore: ItemStore
let idx: Int
// Added new @State variable
@State var name = ""
var body: some View {
NavigationView {
Stepper(value: $itemStore.items[idx].inventory) {
Text("Inventory is \(self.itemStore.items[idx].inventory)")
}
TextField("Placeholder", text: $name) {
// When the enter key is tapped, this runs.
self.itemStore.items[self.idx].name = self.name
}
.padding()
.navigationBarTitle(itemStore.items[idx].name)
}
}
}
推荐阅读
- php - FCM Push for iOS 错误 InvalidRegistration
- python - 如何简化此代码并删除 if-else 块?
- python - 芹菜和烧瓶,同一个芹菜应用实例
- python - 过滤数据时出现内存错误
- python - 使用 Scikit Learn 查找集群的关键词
- azure - 从 VS Code 部署 Azure 函数 - 成功但在门户中不可见
- c# - 光标的屏幕坐标永远不会接近 0
- node.js - WinstonJS 自定义级别文件
- hyperledger-fabric - 对等节点在 Hyperledger Fabric 中崩溃后如何检索旧数据?
- java - 如何使用 DSL 为 ack/nack 和返回队列配置 amqp-outbound 适配器?