Как найти РЕАЛЬНУЮ ошибку компиляции в SwiftUI? (Ложная ошибка: нельзя использовать начальный член Stati c для экземпляра типа HorizontalAlignment) - PullRequest
1 голос
/ 06 апреля 2020

Я борюсь с SwiftUI, и одна из самых больших проблем, с которыми я сталкиваюсь, заключается в том, что он постоянно выдает мне сообщения об ошибках, которые абсолютно не связаны с этой проблемой. (Я приведу пример ниже.) Есть ли у вас какие-либо предложения по обнаружению РЕАЛЬНОГО сообщения об ошибке, чтобы я мог прекратить тратить 10-20 минут каждый раз, когда это происходит, комментируя большие фрагменты кода, пока он, наконец, не сообщит мне о проблеме?

Например, я получаю ошибку компиляции Static member 'leading' cannot be used on instance of type 'HorizontalAlignment' в строке VStack(alignment: .leading, spacing: 20) {, но это, очевидно, неправильно. К счастью, я понял, что всякий раз, когда я вижу эту ошибку, это действительно ошибка где-то еще ... но есть ли у вас какие-либо рекомендации для самого простого способа найти РЕАЛЬНУЮ ошибку?

В этом случае настоящая ошибка была в строке field: $data.pv, потому что я переименовал поле .pv и эта переменная больше не была допустимым именем переменной.

struct EasyModeWhatIsLoanPayment: View {
    @ObservedObject private var data = DataWhatIsLoanPayment()

    var body: some View {
        NotepaperView {
            ScrollView {
                NotepaperView {
                    VStack(alignment: .leading, spacing: 20) { // <--- fake error reported here
                        QuestionAmount(
                            question: "What is the amount of your loan?",
                            field: $data.pv // <--- actual error was here
                        )
                        QuestionPercentage(
                            question: "What's the interest rate?",
                            valuedescription: "% Per Year",
                            field: $data.iyr
                        )
                        // ... more views
                    }.padding()
                }
            }
        }.navigationBarTitle("What is my Loan Payment?", displayMode: .inline)
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...