swift - SwiftUI:NavigationButton 初始化程序给出错误
问题描述
在我的一个 SwiftUI 视图中,我有以下代码:
NavigationButton(destination: DetailView()) {
Text(verbatim: "Start")
}
Xcode 无法构建代码并给出此错误:
'(DetailView, @escaping () -> Text) -> NavigationButton<Text, DetailView>' is not convertible to '(DetailView, Bool, @escaping () -> Bool, () -> Text) -> NavigationButton<Text, DetailView>'
我相信 Xcode 认为我正在使用init(destination: Destination, isDetail: Bool, onTrigger: () -> Bool, label: () -> Label)
初始化程序,但我正在使用初始化程序init(destination: Destination, label: () -> Label)
。
奇怪的是,我使用的那个没有记录(https://developer.apple.com/documentation/swiftui/navigationbutton),但它在我看过的多个教程中都有使用,例如https://www.hackingwithswift .com/quick-start/swiftui/how-to-push-a-new-view-using-navigationbutton。
所以我的问题是:我使用的初始化程序是错误的还是有办法避免错误?
更新:问题已解决,见评论!
解决方案
此外,“Xcode 11 Beta”的早期版本(和一些视频)显示使用“NavigationButton”但不再受支持,已替换为“NavigationLink”。
推荐阅读
- html - Wordpress 下载属性不强制 PDF 下载
- openxml - oxml 中的 w:tab 和 w:ind 标签有什么区别?
- python - 如何从pyvis图中提取节点的in_degree和out_degree等属性?
- google-sheets - 如何匹配给定单元格索引上方的字符串
- terraform - 如何自动化“保险库操作员初始化”(通过 terraform 或/和 helm)?
- kubernetes - Kubernetes 如何链接其准入 webhook?
- javascript - 在 Vue.js / Quasar Framework 中注册 firebase service worker
- google-apps-script - 如何有条件地在 Google 工作表之间复制?
- openssl - postman-proxy-ca.crt 文件没有显示,即使安装了 OpenSSL
- opengl-es - 在 HSV GLSL 中定义 RGB 颜色