Zhu Patrick
Zhu Patrick

Reputation: 23

SwiftUI Problem! "Extra argument in call"

I'm now learning SwiftUI and I find a problem that I'am not sure how to deal with it.

Whenever I want to add more button actions, there'll always be an alert shows that "Extra argument in call". I've found some ideas to use groups but I don't know how to write the code. Anyone can help me? Thanks!

struct OLEngYearView: View {

    @Binding var isNavigationBarHidden: Bool

    @State var show2019 = false
    @State var show2018 = false
    @State var show2017 = false
    @State var show2016 = false
    @State var show2015 = false
    @State var show2014 = false
    @State var show2013 = false
    @State var show2012 = false
    @State var show2011 = false
    @State var show2010 = false
    var body: some View {
        ScrollView(.horizontal, showsIndicators: false) {
            HStack {
                Group {
                    Button("19") {

                        let selectionFeedback = UISelectionFeedbackGenerator()
                        selectionFeedback.selectionChanged()

                        self.show2019.toggle()
                    }
                    .buttonStyle(YearRoundedButton())

                    .sheet(isPresented: self.$show2019) {
                        LandmarkList()
                    }

                    Button("18") {

                        let selectionFeedback = UISelectionFeedbackGenerator()
                        selectionFeedback.selectionChanged()

                        self.show2018.toggle()
                    }
                    .buttonStyle(YearRoundedButton())

                    .sheet(isPresented: self.$show2018) {
                        _18List()
                    }

                    Button("17") {

                        let selectionFeedback = UISelectionFeedbackGenerator()
                        selectionFeedback.selectionChanged()

                        self.show2017.toggle()
                    }
                    .buttonStyle(YearRoundedButton())

                    .sheet(isPresented: self.$show2017) {
                        _17List()
                    }

                    Button("16") {

                        let selectionFeedback = UISelectionFeedbackGenerator()
                        selectionFeedback.selectionChanged()

                        self.show2016.toggle()
                    }
                    .buttonStyle(YearRoundedButton())

                    .sheet(isPresented: self.$show2016) {
                        _16L()
                    }

                    Button("15") {

                        let selectionFeedback = UISelectionFeedbackGenerator()
                        selectionFeedback.selectionChanged()

                        self.show2015.toggle()
                    }
                    .buttonStyle(YearRoundedButton())

                    .sheet(isPresented: self.$show2015) {
                        _15L()
                    }

                    Button("14") {

                        let selectionFeedback = UISelectionFeedbackGenerator()
                        selectionFeedback.selectionChanged()

                        self.show2014.toggle()
                    }
                    .buttonStyle(YearRoundedButton())

                    .sheet(isPresented: self.$show2014) {
                        _14L()
                    }

                    Button("13") {

                        let selectionFeedback = UISelectionFeedbackGenerator()
                        selectionFeedback.selectionChanged()

                        self.show2013.toggle()
                    }
                    .buttonStyle(YearRoundedButton())

                    .sheet(isPresented: self.$show2013) {
                        _13L()
                    }

                    Button("12") {

                        let selectionFeedback = UISelectionFeedbackGenerator()
                        selectionFeedback.selectionChanged()

                        self.show2012.toggle()
                    }
                    .buttonStyle(YearRoundedButton())

                    .sheet(isPresented: self.$show2012) {
                        _12L()
                    }

                    Button("11") {

                        let selectionFeedback = UISelectionFeedbackGenerator()
                        selectionFeedback.selectionChanged()

                        self.show2011.toggle()
                    }
                    .buttonStyle(YearRoundedButton())

                    .sheet(isPresented: self.$show2011) {
                        _11L()
                    }


                    Button("10") {

                        let selectionFeedback = UISelectionFeedbackGenerator()
                        selectionFeedback.selectionChanged()

                        self.show2010.toggle()
                    }
                    .buttonStyle(YearRoundedButton())
                        _10L()


                }
                .padding(.top, 3)
                .padding(.trailing, 8)
                Spacer()
            }
            .padding()
            .padding(.bottom, -7)
        }
    }
}

Is anyone can help me? Thanks!

Upvotes: 1

Views: 1091

Answers (1)

Asperi
Asperi

Reputation: 257493

If it is not copy-paste, then the error is

Button("10") {

    let selectionFeedback = UISelectionFeedbackGenerator()
    selectionFeedback.selectionChanged()

    self.show2010.toggle()
}
.buttonStyle(YearRoundedButton())
    _10L()                         // << here !!

If looks like (based on common patten) you missed .sheet here.

Upvotes: 1

Related Questions