我正在使用一些条件控件来构建布局,具体取决于用户的偏好。 例如,仅当用户选择查看选择器时,我才显示它(已分段)(用户在应用程序设置页面的UserDefaults中将Bool设置为true)。
我尝试在预览结构中将Bool设置为var或常量,但我设法将Picker显示在画布上,但是出现错误:“传递给调用的参数不带参数”:
这是我声明我的布尔的方式:
private var isBiqualif: Bool = UserDefaults.standard.bool(forKey: kbiQualif) // kbiQualif is constant string set in a separate file to avoid typos
这是我显示选择器的方式:
if isBiqualif { // User has activated this in settings
Picker("", selection: $typeSelectorIndex) {
ForEach(0 ..< types.count) { index in
Text(self.types[index]).tag(index)
}
}
.pickerStyle(SegmentedPickerStyle())
Divider()
} // End of if statement for dual rating Picker
以及我最近的预览尝试:
struct CreateTakeoffView_Previews: PreviewProvider {
static var previews: some View {
let myBool = true
return CreateTakeoffView(isBiqualif: myBool)
}
}
有什么想法吗?
谢谢
答案 0 :(得分:1)
请不要使用private
,因为这样会隐藏var,因此请使用
var isBiqualif: Bool = UserDefaults.standard.bool(forKey: kbiQualif)