一直在玩SwiftUI,到目前为止,我已经理解了BindableObjects等的概念(至少我希望我能理解).

我遇到了一个愚蠢的问题,我似乎找不到答案:

我有以下代码:

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

我该怎么go 初始化它呢?已try :

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

甚至:

@Binding var dismissView: Bool = false

但是没有一个管用.有什么主意吗?

推荐答案

当你在应用程序中使用LoggedInView时,你确实需要提供一些绑定,比如前一个视图中的@State@EnvironmentObject.

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

例如.

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

Ios相关问答推荐

UITableViewCell编程约束问题

如何在 Swift 中存储具有关联值的协议?

SwiftUI 点击列表内不会触发 Select

NSError 错误领域: "CBATTErrorDomain" 代码: 128 0x0000000282b111a0

如何从单独的视图更改修饰符的值

更新 flutter 和 xcode 后 Xcode 14.3 中缺少文件 (libarclite_iphoneos.a)

动画文本位置

如何在 SwiftUI 中创建两个大小相同的正方形占据整个屏幕宽度?

使用 SceneKit 从 CapturedRoom.walls 重新创建 RoomPlan

如何仅更改一个视图的导航标题 colored颜色 ?

带有属性包装器的不可用属性

禁用 UITextField 的自动更正

何时需要将应用程序源包含在测试目标中?

UITableView 页脚,停止浮动内容

如何更新推送通知服务证书

每个版本的 iOS 都附带什么版本的移动 Safari?

测试目标 X 遇到错误(提前意外退出,操作从未完成 bootstrap - 不会try 重新启动

从 Swift 转换为 Objective-c 的工具

在 iOS 上没有显示数字键盘

如何为 NSDate 添加一个月?