ios - SwiftUI @Binding 初始化

标签 ios swift swiftui ios13

一直在玩 SwiftUI 并理解 BindableObjects 的概念等到目前为止(至少我希望我这样做)。

我遇到了一个愚蠢的问题,我似乎无法找到答案:
如何初始化 @Binding多变的?

我有以下代码:

struct LoggedInView : View {

    @Binding var dismissView: Bool

    var body: some View {
        VStack {
            Text("Hello World")
        }
    }
}

在我的预览代码中,我想传递 Binding<Bool> 类型的参数:

#if DEBUG
struct LoggedInView_Previews : PreviewProvider {
    static var previews: some View {
        LoggedInView(dismissView: **Binding<Bool>**)
    }
}
#endif

我将如何初始化它?试过:

Binding<Bool>.init(false)
Binding<Bool>(false)

甚至:

@Binding var dismissView: Bool = false

但没有一个工作......有什么想法吗?

最佳答案

当您使用 LoggedInView在您的应用程序中,您确实需要提供一些绑定(bind),例如 @State从以前的 View 或 @EnvironmentObject .

对于 PreviewProvider 的特殊情况如果您只需要一个固定值,您可以使用 .constant(false)
例如。

#if DEBUG
struct LoggedInView_Previews : PreviewProvider {
    static var previews: some View {
        LoggedInView(dismissView: .constant(false))
    }
}
#endif

关于ios - SwiftUI @Binding 初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56685964/

相关文章:

ios - 如何计算类属性中的项目? swift 语言

ios - Swift-在另一个ViewController中的ContainerView中访问UIButton

swift - 如何在 forEach 循环中传递变量函数

swiftui - SwiftUI 中文本对象中使用的当前字体

json - 纠结于如何使用 api 响应进行调用以从不同的链接检索响应

ios - UIViewController 中的 tableHeaderView

ios - 为什么我的 iOS 应用打开后突然开始崩溃?

objective-c - IOS 应用程序将数据发送到 REST API 服务内容类型定义错误

ios - Swift:Tableview 和搜索栏第一次使用 segue 发送 null 对象

swift - 可编码导致循环