我有三个文件:文件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作为参数,但我希望能够在没有所选文件中可用信息的情况下调用函数。