【发布时间】:2019-10-28 17:12:57
【问题描述】:
我有一个控件,它设置一个@State 变量来跟踪自定义选项卡视图中的选定选项卡。我可以通过设置以下内容在代码中设置@State 变量:
@State var selectedTab: Int = 1
如何以编程方式设置初始值,以便在创建视图时更改选定的选项卡?
我尝试了以下方法:
1:
@State var selectedTab: Int = (parameter == true ? 1 : 2)
2:
init(default: Int) {
self.$selectedTab = default
}
【问题讨论】:
-
遇到同样的问题。
-
您不应该从通过初始化程序传递的数据初始化@State 变量;由于模型是在视图之外维护的,因此无法保证该值会真正被使用。看我的回答。
-
您应该使用 Binding 来提供对视图本地以外的状态的访问。
标签: swiftui