【发布时间】:2020-06-14 13:26:45
【问题描述】:
这是我的示例。我有一个要总结的清单。我设置了一个观察对象来存储结果,当子视图出现时触发+1。
class observed : ObservableObject {
@Published var listNum : Int = 0
}
struct ContentView: View {
@State private var mylist = [
1,0,1,0,1,1
]
var body: some View {
ForEach(mylist, id: \.self) { (value) in
ExtractedView(value:value)
}
}
}
struct ExtractedView: View {
var value : Int = 0
@EnvironmentObject var obj : observed
@State var listNum:String = "0"
var body: some View {
Text(listNum)
.onAppear{
if self.value != 1{
self.obj.listNum = 0
}else{
self.obj.listNum += 1
}
self.listNum = String(self.obj.listNum)
}
}
}
但是结果总是颠倒过来的,和预想的不一样。
【问题讨论】:
-
此代码快照不足以重现问题。你能详细说明一下吗?
-
感谢您的评论,我会展示更多。