SwiftUI: 如何实现带有 @Binding 变量的自定义 init
你好!我是 SwiftUI 新手,正在尝试创建一个带有文本输入字段的自定义视图。我需要父视图能够通过 @Binding 传递状态管理。但当我尝试添加自定义 init 时,Xcode 报错说 $text 属性未初始化。这是我的代码:
struct CustomTextField: View {
@Binding var text: String
var placeholder: String
// 尝试创建自定义 init
init(placeholder: String, text: Binding<String>) {
self.placeholder = placeholder
self.text = text // 错误:'self' used before all stored properties are initialized
}
var body: some View {
TextField(placeholder, text: $text)
.textFieldStyle(RoundedBorderTextFieldStyle())
}
}
我明白 @Binding 是一个 property wrapper,但不知道如何在自定义 init 中正确初始化它。