Вы можете помочь мне решить эту проблему? Проблема заключается во второй кнопке со строковым массивом внутри текстового кода, если есть строковый массив внутри текстового кода, отметьте типичную ошибку: "the ...

1
Iker Ochoa 9 Апр 2021 в 20:20

1 ответ

Лучший ответ

Общий совет по исправлению ошибок the-compiler-is-unable-to-type-check-this-expression-in-reasonable-time:

  • Используйте явные типы для ваших переменных:
let telephone = "tel://"   // Not Optimal

let telephone: String = "tel://"    // This is Better because of the explicit `: String`
  • Используйте меньшие объявления вместо одной большой вещи, содержащей всю вашу логику:
var body: some View {
    
    // Not optimal button
    Button(action: {
    // do something
        .
        .
        .
    }, label: {
        Text("something")
            .
            .
            .
    })
    

    // Better example
    Button(action: actionOfTheButton, label: buttonLabel)

}

// Declare the action somewhere else
func actionOfTheButton() {
    // do something
        .
        .
        .
}

var buttonLabel: some View {
    Text("something")
        .
        .
        .
}
  • Последняя возможность, которую я помню на данный момент, заключается в том, что у вас есть синтаксическая ошибка или другие ошибки на вашей стороне.
    В этом случае вам нужно просто попытаться увидеть проблему и исправить ее.

Вам не нужно идти ва-банк с объявлением явных типов, так как это одна из приятных особенностей языка Swift, и вы не хотите, чтобы ее выбросили, но на самом деле это всегда помогает компилятору. .

Что касается второго совета, обычно рекомендуется сокращать ваше приложение на более мелкие компоненты, а не на большие. Это также помогает сделать ваш код более читабельным и управляемым. Чем больше ваш проект, тем больше вы благодарите себя за эти более мелкие компоненты.

0
Mahdi BM 9 Апр 2021 в 17:57