View SwiftUI中的条件视图不';不编译
我想创建一个带有切换的设置表单,如果启用,可以显示更多用于细节自定义的切换。但是下面的简单代码没有编译:“分段错误:11”。代码有什么问题View SwiftUI中的条件视图不';不编译,view,conditional-statements,swiftui,View,Conditional Statements,Swiftui,我想创建一个带有切换的设置表单,如果启用,可以显示更多用于细节自定义的切换。但是下面的简单代码没有编译:“分段错误:11”。代码有什么问题 import SwiftUI struct Settings: View { @State var voiceOver = true @State var voiceOverStart = true var body: some View { NavigationView { Form {
import SwiftUI
struct Settings: View {
@State var voiceOver = true
@State var voiceOverStart = true
var body: some View {
NavigationView {
Form {
Section(header: Text("Voice Over")) {
Toggle(isOn: $voiceOver) {
Text("Voice Over")
}
if voiceOver == true {
VStack {
Toggle(isOn: $voiceOverStart) {
Text("Start Bell")
}
}
}
}
}.navigationBarTitle(Text("Settings"))
}
}
}
更新:注释掉if语句,代码编译。。。但当然,如果没有理想的行为
// if voiceOver == true {
VStack {
Toggle(isOn: $voiceOverStart) {
Text("Start Bell")
}
}
// }
它对我来说编译和运行都很好。我使用的是Xcode 11,beta 4。你呢?我也是。。。这很奇怪。请尝试清理生成目录,如果问题仍然存在,请重新启动Xcode甚至Mac。如果它仍然存在,请尝试注释一些代码,直到错误消失,并查看是否可以重写该部分。好的,确实清理了构建目录并重新启动了计算机。我仍然会犯同样的错误。然后我注释掉了if语句,它就工作了……我删除了我以前的注释,因为我输入了一个无法编辑的错误(过了太多时间)。我的意思是说,
.navaigationBarTitle()
需要修改NavigationView的后代视图,而不是NavigationView本身。这就是不同的推送视图获得不同标题的方式。