我在我的视图中将一个整数值存储为状态。当我按下按钮时,这个整数增加一。当我打印出这个整数值时,它工作得很好。
现在我有一个ForEach循环,它基于这个整数进行迭代。当我默认设置我的状态为2时,它在开始时工作得很好。但是,当我增加这个整数时,我的ForEach不再被调用。
我理解State将重新加载我的实际视图。它只加载特定的部分吗?
这里是我声明我的State:
@State var s_countVenues : Int = 2
这是我使用的 ForEach。一开始它能正常工作,但更改 s_countVenues
时不会更新视图。
ForEach(0..<self.s_countVenues)
{_ in
HStack(spacing: 0)
{
//here comes my view
}
}
如果需要,这里我将将我的值增加一。它有效,我打印了更改内容,如果我在标签中使用它,标签将会得到更新。
如果需要,这里我将将我的值增加一。它有效,我打印了更改内容,如果我在标签中使用它,标签将会得到更新。
self.s_countVenues += 1
TL:DR:我的Int状态正在工作。我可以在标签中增加和打印它。然而,在ForEach语句中将其用作语句后,更改后不会再次调用该循环。
id: \.self
。 - Tamás Sengelid:\.self
,当发生任何更改时,内容/视图不会更新。 - Harsha