Устранение неполадок текстового поля в Swift [дубликаты]

-1

Как практика, я пытаюсь создать простое математическое приложение, в котором можно ввести два значения в качестве оснований правого треугольника, и когда они нажимают кнопку, вычисляется третья нога. Это код, который я использую:

class pythagoreanTheoremViewController: UIViewController {
    @IBOutlet weak var baseOneTextField: UITextField!
    @IBOutlet weak var baseTwoTextField: UITextField!
    @IBOutlet weak var answerLabel: UILabel!

    var a = baseOneTextField.text.toInt()
}

Однако это возвращает ошибку, которую pythagoreanTheoremViewController.Type не имеет члена с именем baseOneTextField. Я удалил, а затем снова подключил свои выходы, и у меня все еще есть та же проблема.

Что я делаю неправильно и как это исправить?

благодаря

Теги:
xcode
uitextfield

1 ответ

1
Лучший ответ

Проблема заключается в том, что ваше объявление var a позиционируется на верхнем уровне вашего class, поэтому это переменная экземпляра. Но инициализация переменной экземпляра не может ссылаться на другую переменную экземпляра (baseOneTextField), потому что объект еще не сформирован во время инициализации - формирование объекта именно то, что мы находимся в середине дела.

  • 0
    Как я могу это исправить?
  • 0
    Я попробовал обходной путь lazy var, который вы опубликовали в ответ на другой вопрос, но у меня все еще та же ошибка.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню