我正在尝试创建一个SwiftUI视图,其中可以传递一个视图构建器。但是使用视图构建器参数时,我无法更改状态。这是由于在init方法中创建的原因吗? 如何实现我期望的行为?
struct Card_Previews: PreviewProvider {
@State
static var bol: Bool = true
static var previews: some View {
Label(title: { content })
}
// Does not change the value
private static var content: some View {
Button(bol.description) {
bol.toggle()
}
}
}
struct Label<Title>: View where Title: View {
var body: some View {
title
}
let title: Title
public init(@ViewBuilder title: () -> Title) {
self.title = title()
}
}
如果有什么不明白的地方,请问一下: