【发布时间】:2022-01-19 07:16:47
【问题描述】:
这里是自学初学者。我试图在 ContentView 的 VStack 中显示来自核心数据的 Int,而不是在列表中。但实际上,我能找到的所有关于 Core Data 的教程(跟踪书籍、电影、订单、学生)都使用 List 来显示包含 Int 的数组。单独显示 Int 没有任何意义。
Xcode 可以毫无问题地构建 countnum.countnum +=1。在我看来,它读得很好。但是一旦我尝试展示它,它就不起作用了。我在这里毁了我的大脑。
struct ContentView: View {
@Environment(\.managedObjectContext) var moc
@FetchRequest(sortDescriptors: []) var countnum: FetchedResults<CountNum>
var body: some View {
// let countnum = CountNum(context: moc)
VStack{
Text("+")
.padding()
.onTapGesture (count: 2){
let countnum = CountNum(context: moc)
countnum.countnum += 1
}
Text("\(countnum)") //No exact matches in call to instance method 'appendInterpolation'
}
}
}
谢谢
【问题讨论】:
-
看表here
-
@loremipsum 谢谢你的回答。但我必须诚实。那里的代码看起来远远高于我目前(几乎不存在)阅读代码的能力。
-
@loremipsum 如果我尽力理解它。 .sheet 有一个动作 $vm.newItem 。你是说我需要在我的实体中添加一个项目吗?
-
当
@Published var newItem: Item? = nil是!=到nil时不会触发sheet(item)。Button和vm.addItem(moc: viewContext)创建一个新对象,然后将该对象放在newItem上。工作表随即打开,其中包含新对象。Item只是一个新 Xcode 项目附带的示例实体。您可以获取该代码并将其粘贴到一个中,以便查看它是如何工作的。