如何手动初始化Swift绑定,并使用所需的包装值?
使用Bool作为类型,这里是最基本的所需init
let b: Binding<Bool> = Binding.init(true)
//消息出错:
Cannot convert value of type 'Bool' to expected argument type 'Binding<Bool?>
Value of optional type 'Binding<Bool>?' must be unwrapped to a value of type 'Binding<Bool>'
问题我有
- 为什么会出现上述错误
- 初始化一个简单的Bool绑定的正确语法是什么
- 为什么类型签名中必须包含选项(<'Binding<Bool?>(
您需要@State
。如果您想要默认的初始值以及设置它的机会,请考虑这个问题。
@State var a: Bool
init(initialA: Bool = true) {
_a = .init(initialValue: initialA)
}