错误:传递给不带参数的调用的参数SwiftUI

错误:传递给不带参数的调用的参数SwiftUI,swift,swiftui,Swift,Swiftui,在我的代码中,我遇到了这个错误,我不知道如何解决它。错误在后面的代码块中 struct Map: View { @ObservedObject public var dataManager = DataManager.shared @Binding public var seqId: String // rz- to pass seqId to second view // @State public var seqId2: St

在我的代码中,我遇到了这个错误,我不知道如何解决它。错误在后面的代码块中

struct Map: View {
    
    @ObservedObject public var dataManager = DataManager.shared
    
    @Binding public var seqId: String
    
    // rz- to pass seqId to second view
    //   @State public var seqId2: String = ""
    
    var body: some View {
        
        ZStack {
            VStack {
                Text("Results").foregroundColor(Color.white).onAppear{self.dataManager.downloadSeqData(seqId: self.seqId)}                        .onAppear(perform: playSound)/*rz want to add this sound func to contentview somehow, otherwise it will constantly play sound when page loads */ .edgesIgnoringSafeArea(.all)
                
                //rz- if strand is linear draw line
                if dataManager.dataSet?.INSDSeq.topology == "linear" {
                    
                Rectangle()
                    .fill(Color.black)
                    .frame(width: 500, height: 20)
                }
                //rz- if strand is circular draw o
                if dataManager.dataSet?.INSDSeq.topology == "circular" {
                Circle()
                    .stroke(Color.black, style: StrokeStyle(lineWidth: 20, lineCap: .round, lineJoin: .round))
                    .frame(width: 500, height: 500)
                }
                if dataManager.dataSet?.INSDSeq.topology != "circular" && dataManager.dataSet?.INSDSeq.topology != "linear"{
                    Text("Data Unavailable, try a new accession number.")
                }
            }
                
            .navigationBarItems(
    //rz - added home and genbank view to navigation bars
                leading:
                    NavigationLink(destination: ContentView()) {
                           Text("New Query")
                               .font(.title)
                               .foregroundColor(Color.black)
                        },

                trailing:
                    NavigationLink(destination: Screen(seqId: self.$seqId)) {
                      Text("GenBank View")
                          .font(.title)
                          .foregroundColor(Color.black)
错误在
$seqId

NavigationLink(destination: Screen(seqId: self.$seqId)) {
这是屏幕视图

import SwiftUI


struct Screen: View {


@ObservedObject public var dataManager = DataManager.shared
@State private var seqId: String = ""

var body: some View {
    VStack {
       TextField("Enter Accession Number", text: $seqId)
        .padding()
        
        Button("Search")
        {
        dataManager.downloadSeqData(seqId: seqId)
            
            
           }
        
        
        ScrollView {

        VStack(alignment: .leading) {
           
                    
                Text(dataManager.dataSet?.INSDSeq.locus ?? "")
                    .padding()
                Text(dataManager.dataSet?.INSDSeq.organism ?? "").padding()
                Text(dataManager.dataSet?.INSDSeq.source ?? "").padding()
                Text(dataManager.dataSet?.INSDSeq.taxonomy ?? "").padding()
                Text(dataManager.dataSet?.INSDSeq.topology ?? "").padding()
                Text(dataManager.dataSet?.INSDSeq.length == nil ? "" : "\(dataManager.dataSet!.INSDSeq.length)") .padding()
                Text(dataManager.dataSet?.INSDSeq.strandedness ?? "").padding()
                Text(dataManager.dataSet?.INSDSeq.moltype ?? "").padding()
                Text(dataManager.dataSet?.INSDSeq.sequence ?? "").padding()
            
            }
            
            .cornerRadius(10)
            
            VStack(alignment: .leading, spacing: 10) {
                ForEach(dataManager.featureList, id:\.self) { feature in
                    
                    VStack (alignment: .leading){
                        VStack (alignment: .leading) {
                            Text(feature.INSDFeature_key).bold()
                            Text(feature.INSDFeature_location)
                        }.padding()
                    
                        IntervalSection(feature: feature)
                        
                        QualsSection(feature: feature)
                        
                    }
                    .cornerRadius(10)
                }
            }
            
            .cornerRadius(20)
        }
        .padding(.horizontal)
                    
    }
    
    }
    
    }



struct IntervalSection: View {
var feature: INSDFeature
var body: some View {
    VStack (alignment: .leading){
        ForEach(0..<feature.INSDFeature_intervals.count, id: \.self) { i in
            ForEach(0..<feature.INSDFeature_intervals[i].INSDInterval.count, id: \.self) { j in
                if let from = feature.INSDFeature_intervals[i].INSDInterval[j].INSDInterval_from {
                    VStack (alignment: .leading){
                        Text("\(from)").bold()
                        Text("\(feature.INSDFeature_intervals[i].INSDInterval[j].INSDInterval_to ?? -1)")
                    }
                    .padding()
                    .cornerRadius(10)
                }
            }
        }
    }
}
}

struct QualsSection: View{
var feature: INSDFeature
var body: some View {
    VStack (alignment: .leading){
        ForEach(0..<feature.INSDFeature_quals.count , id: \.self) { i in
            ForEach(0..<feature.INSDFeature_quals[i].INSDQualifier.count , id: \.self) { j in
                VStack (alignment: .leading){
                    Text(feature.INSDFeature_quals[i].INSDQualifier[j].INSDQualifier_name).bold()
                    Text(feature.INSDFeature_quals[i].INSDQualifier[j].INSDQualifier_value)
                }
                .padding()
                .cornerRadius(10)
            }
        }
    }
}
导入快捷界面
结构屏幕:视图{
@ObservedObject public var dataManager=dataManager.shared
@国家私有变量seqId:String=“”
var body:一些观点{
VStack{
TextField(“输入登录号”,文本:$seqId)
.padding()
按钮(“搜索”)
{
dataManager.downloadSeqData(seqId:seqId)
}
滚动视图{
VStack(对齐:。前导){
文本(dataManager.dataSet?.INSDSeq.locus??“”)
.padding()
文本(dataManager.dataSet?.INSDSeq.org???).padding()
文本(dataManager.dataSet?.INSDSeq.source???).padding()
文本(dataManager.dataSet?.INSDSeq.taxonomy???).padding()
文本(dataManager.dataSet?.INSDSeq.topology???).padding()
文本(dataManager.dataSet?.INSDSeq.length==nil?”:“\(dataManager.dataSet!.INSDSeq.length)”).padding()
文本(dataManager.dataSet?.INSDSeq.strandness???).padding()
文本(dataManager.dataSet?.INSDSeq.moltype???).padding()
文本(dataManager.dataSet?.INSDSeq.sequence???).padding()
}
.转弯半径(10)
VStack(对齐:。前导,间距:10){
ForEach(dataManager.featureList,id:\.self){feature in
VStack(对齐:。前导){
VStack(对齐:。前导){
文本(feature.INSDFeature_key).bold()
文本(特征.检验特征\位置)
}.padding()
间隔(特征:特征)
QualsSection(功能:功能)
}
.转弯半径(10)
}
}
.转弯半径(20)
}
.padding(.卧式)
}
}
}
结构区间:视图{
var特征:INSDFeature
var body:一些观点{
VStack(对齐:。前导){

ForEach(0..在SwiftUI中,如果数据来自另一个视图,则应使用
绑定
而不是
状态
。此外,
屏幕
的两个属性都是私有的,因此在这种情况下,不能从结构本身外部访问它们


我建议将
dataManager
中的
seqID
公开,就像您使用
dataManager
一样,并将其更改为
State
Screen
是什么?
Screen
init方法看起来像什么?很可能您没有这样的init。Screen是显示的内容视图信息是列表格式的。屏幕页面中没有init方法发布代码太麻烦了?它有什么属性,如果它是一个结构(我假设它是),则总是有一个综合init。只是上载了它,视图没有将seqId作为参数,因为该属性是私有的(并且是一个
@State
变量)。在我看来,屏幕视图不需要使用seqId初始化,因为它将其作为输入?否则您需要将其更改为
@Binding
并删除private