传递给不接受闭包错误的 'MKCoordinateRegion' 类型参数的尾随闭包

Trailing closure passed to parameter of type 'MKCoordinateRegion' that does not accept a closure Error

我对 swift 有点陌生,我制作了一个应用程序,其中的欢迎页面会将您带到可以添加位置的地图,而另一个 link 会带您前往景点濒危动物网站。在导航 Link 到地图屏幕上,出现“传递给不接受闭包的 'MKCoordinateRegion' 类型参数的尾随闭包”错误,并且 link 不起作用。这是我的代码:

  NavigationLink (
        "Lets Go!", destination: SwiftUIView()
    {
            Text("Lets Go!").foregroundColor(.purple)
            
        }).position(x: 165, y: 65)
        

这是我的屏幕

struct SwiftUIView: View {
   
    @State private var locations =
    [Location]()
    @State private var input = ""
    @State var region = MKCoordinateRegion(center: CLLocationCoordinate2D(latitude: 40.7, longitude: -90), span: MKCoordinateSpan(latitudeDelta: 40, longitudeDelta: 40))
    var body: some View {
       

        ZStack{
            Image("Eco").resizable().aspectRatio(contentMode:.fit).frame(width: 75.0, height: 75.0).position(x: 155, y: 30)
        Text("EcoBuild")
            Text("Add your own sightings!")
            Map(coordinateRegion: $region,annotationItems: locations){
                location in MapMarker(coordinate: CLLocationCoordinate2D(latitude: location.latitude, longitude: location.longitude))
            }.frame(width: 330.0, height: 400.0).position(x: 160, y: 350)
           
            Link("See other sightings here!", destination:URL(string:"https://www.mass.gov/info-details/rare-species-viewer")!).position(x:150 , y: 75.0)
                
            
            
           Button {
                let newLocation = Location(id: UUID(), name: "New Location", description: "Animals in area", latitude: region.center.latitude, longitude: region.center.longitude)
                
                locations.append(newLocation)
           } label: {
               Image(systemName: "plus")
           }
                
            }
}

编译器在这里没有给您非常有用的错误消息,但问题是您的 NavigationLink 初始化程序的参数不是很有效。你试图传递一个标题,然后是一个目的地,然后你错过了一个括号(这是有趣的编译器错误的根本原因 - 它认为你的标签是 SwiftUIView 初始值设定项的尾随闭包), 然后你传递一个标签。

你可能想要的是这个:

NavigationLink {
    SwiftUIView()
} label: {
    Text("Lets Go!").foregroundColor(.purple)
}.position(x: 165, y: 65)