在我的一个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。
所以我的问题是:我使用的初始化程序是错误的还是有办法避免错误?
更新:问题已解决,请参阅评论!
最佳答案
此外,早期版本的“Xcode11beta”显示了“NavigationButton”的使用,但它不再受支持,已被“NavigationLink”替换。