我有三个文件:文件A、文件B和文件C。
我想从文件B更改文件C中@State的值,但我更希望从文件A实际运行文件C中的视图。
以下是我的文件和代码,以帮助人们理解问题:
文件A:
#import SwiftUI
struct ContentView: View {
var body: some View {
FileC()
}
}
文件B:
#import SwiftUI
struct FileB: View {
var body: some View {
Button (action: {
variable = true // This is the variable I want to change.
})
{
Image("Image")
}
}
}
文件C:
#import SwiftUI
struct FileC: View {
@State var variable = false;
var body: some View {
if variable == true {
Rectangle()
}
}
}
我没有尝试过任何能解决这个问题的方法,因为我对Swift没有什么经验,也不知道在这种情况下该怎么办。我希望用FileB().variable = true之类的东西访问文件B中的变量,但这只会给我带来各种错误,或者根本不起作用。
我从其他来源了解到在调用视图时使用@Binding作为参数,但我希望能够在没有所选文件中可用信息的情况下调用函数。