在 Swift 中,您可以在初始化时覆盖的结构上定义默认值:
struct myStruct {
var a: Int = 1
}
var instance1 = myStruct() // instance1.a -> 1
var instance2 = myStruct(a: 10) // instance2.a -> 10
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试将其应用于 SwiftUI 视图中的 Bindings 时,出现错误:
struct MyView: View {
@Binding var a: Bool = Binding.constant(true)
var body: some View {
Text("MyView")
}
}
Run Code Online (Sandbox Code Playgroud)
Argument labels '(wrappedValue:)' do not match any available overloads
Run Code Online (Sandbox Code Playgroud)
我想创建一个默认使用常量布尔值但可以被“真实”绑定覆盖的视图:
Argument labels '(wrappedValue:)' do not match any available overloads
Run Code Online (Sandbox Code Playgroud)
是否可以在 SwiftUI 中为绑定定义这样的默认值?