Swift iPlaceHolder修改器不可用且无法在小部件工具包中使用+;迅捷

Swift iPlaceHolder修改器不可用且无法在小部件工具包中使用+;迅捷,swift,swiftui,widgetkit,wwdc,Swift,Swiftui,Widgetkit,Wwdc,我正在关注FrommWWDC2020中的小部件代码,在第一部分中,他们提到使用新的占位符api和.isPlacholder。因此,我尝试在我的小部件中实现它,如下所示: 结构占位符视图:视图{ var body:一些观点{ RandomWidgetView(书籍:testBook) .isPlaceholder(正确) } } 但是,我得到的错误类型为“RandomWidgetView”的值没有成员“isPlaceholder”。谷歌搜索后,我发现: 结构占位符视图:视图{ var body:

我正在关注FrommWWDC2020中的小部件代码,在第一部分中,他们提到使用新的占位符api和
.isPlacholder
。因此,我尝试在我的小部件中实现它,如下所示:

结构占位符视图:视图{ var body:一些观点{ RandomWidgetView(书籍:testBook) .isPlaceholder(正确) } } 但是,我得到的错误
类型为“RandomWidgetView”的值没有成员“isPlaceholder”
。谷歌搜索后,我发现:

结构占位符视图:视图{ var body:一些观点{ RandomWidgetView(书籍:testBook) .已编辑(原因:。占位符) } } 但是,这不会创建正确的占位符,而是完全删除其中的视图


我是缺少导入还是自wwdc以来已更改?如何创建正确的占位符?

在iOS 14 beta 3中,初始的
.isPlaceholder(:)
API已更改为
。已编辑(原因:)
API,这就是编译器无法识别
isPlaceholder
调用的原因


下面是如何正确使用它:

在您的小部件扩展中,您应该有这样的代码,正如我这里所说的,这只是默认的小部件实现。如果您将
.redated(原因:。占位符)
放在您拥有
提供程序的视图中。条目
应提供您要查找的结果

// other TimelineProvider code...

struct RandomWidgetViewEntryView: View {
    var entry: Provider.Entry

    var body: some View {
        Text(entry.date, style: .time)
            .redacted(reason: .placeholder)
    }
}

@main
struct RandomWidgetView: Widget {
    let kind: String = "RandomWidgetView"

    var body: some WidgetConfiguration {
        StaticConfiguration(kind: kind, provider: Provider()) { entry in
            RandomWidgetViewEntryView(entry: entry)
        }
        .configurationDisplayName("My Widget")
        .description("This is an example widget.")
    }
}