Xcode SwiftUI:生成导航栏时出现永久性诊断错误

Xcode SwiftUI:生成导航栏时出现永久性诊断错误,xcode,swiftui,Xcode,Swiftui,我是SwiftUI新手,我正在尝试使用Xcode 12.4构建这个导航栏: 以下是我的全部观点: struct PreferencesView: View { var body: some View { NavigationView { ZStack { //Background Color Color("DosDark") .edgesIgnoringSafeArea(.all)

我是SwiftUI新手,我正在尝试使用Xcode 12.4构建这个导航栏:

以下是我的全部观点:

struct PreferencesView: View {
  var body: some View {
    NavigationView {
      ZStack {
        //Background Color
        Color("DosDark")
          .edgesIgnoringSafeArea(.all)
        Text("Hey.")
        //Nav bar styles
        .navigationBarTitleDisplayMode(.inline)
        .toolbar {
            ToolbarItem(placement: .principal) {
                VStack {
                    Text("Preferences")
                    .navBarTitleDark()
                }
            }
        }
        .navigationBarItems(
          leading: NavClose(), //<-- This is where the trouble starts
          trailing: NavAbout()
        ) 
      }
    }
  }
}

struct NavClose: View {
  var body: some View { //<-- Inexplicable error here
    Button(action: {
      print("Close...")
    }){
      Image("close-blue")
    }
  }
}

struct NavAbout: View {
  var body: some View {
    Button(action: {
      print("Show about stuff...")
    }) {
      Image("about-blue")
    }
  }
}
结构首选项视图:视图{
var body:一些观点{
导航视图{
ZStack{
//背景色
颜色(“深”)
.edgesIgnoringSafeArea(.all)
文本(“嘿。”)
//导航栏样式
.navigationBarTitleDisplayMode(.inline)
.工具栏{
工具栏项(位置:。主体){
VStack{
文本(“首选项”)
.navBarTitleDark()
}
}
}
.航海术语(

前导:NavClose(),//在Xcode 12.1/iOS 14.1上运行良好,但是
。navigationBarItems
因首选
工具栏而被弃用,并且可能您的新版本已经存在冲突

解决方案是只使用带有相应位置的工具栏,如

    .toolbar {
        ToolbarItem(placement: .navigationBarLeading) {
                NavClose()
            }
        ToolbarItem(placement: .navigationBarTrailing) {
                NavAbout()
            }
        ToolbarItem(placement: .principal) {
            VStack {
                Text("Preferences")
                .navBarTitleDark()
            }
        }
    }

非常感谢您的帮助!我不知道
.navigationBarItems
(很好地摆脱了它)。啊,我发现了问题。我有一个名为
按钮的
typealias
,Xcode被它卡住了。噢!