SwiftUI:初始化程序中的绑定:默认值

Ric*_*hiy 2 binding ios swift swiftui combine

考虑以下示例:

struct TestView: View {
    @Binding private var value: String
    init(value: Binding<String>) {
        self._value = value
    }
}
Run Code Online (Sandbox Code Playgroud)

如何在TestView没有任何的情况下初始化Binding,即只需将其绑定到空字符串(如果调用者不需要连接该属性)?

理想情况下,我可以使用TestView这样的(有时):

TestView()
Run Code Online (Sandbox Code Playgroud)

我尝试在初始化程序中设置默认值,但显然它失败了:

init(value: Binding<String> = Binding<Strings>("")) {
Run Code Online (Sandbox Code Playgroud)

有什么方法可以解决这个 API 问题吗?

Swe*_*per 6

使用constant工厂方法:

init(value: Binding<String> = .constant("")) {
    self._value = value
}
Run Code Online (Sandbox Code Playgroud)

现在你可以做TestView()