gpt4 book ai didi

SwiftUI 绑定(bind)默认值(参数标签 '(wrappedValue:)' 不匹配任何可用的重载)

转载 作者:行者123 更新时间:2023-12-01 19:34:40 25 4
gpt4 key购买 nike

在 Swift 中,您可以在结构上定义可以在初始化时覆盖的默认值:

struct myStruct {
var a: Int = 1
}
var instance1 = myStruct() // instance1.a -> 1
var instance2 = myStruct(a: 10) // instance2.a -> 10

但是,当我尝试将其应用于 SwiftUI View 中的绑定(bind)时,出现错误:

struct MyView: View {
@Binding var a: Bool = Binding.constant(true)
var body: some View {
Text("MyView")
}
}
Argument labels '(wrappedValue:)' do not match any available overloads

我想创建一个默认使用常量 bool 值但可以被“真实”绑定(bind)覆盖的 View :

struct ContainerView: View {
@State var hasSet = false
var body: some View {
Group {
MyView(a: $hasSet)
MyView() // should be equivalent to MyView(a: .constant(true))
}
}
}

是否可以在 SwiftUI 中为 Binding 定义这样的默认值?

最佳答案

这里是

struct MyView: View {
@Binding var a: Bool
init(a: Binding<Bool> = .constant(true)) {
_a = a
}

var body: some View {
Text("MyView")
}
}
backup

关于SwiftUI 绑定(bind)默认值(参数标签 '(wrappedValue:)' 不匹配任何可用的重载),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60900554/

25 4 0