В приведенном ниже коде я смущен относительно того, где оператор return
в коде возвращается? При выполнении, он работает, как ожидалось, но он вернется к:Где эта строка кода возвращается?
if userIsInTheMiddleOfTyping == true
или не возвращает к:
if let digit = sender.currentTitle
Ниже приводится полный кусок кода, где это применимо.
class ViewController: UIViewController {
private var userIsInTheMiddleOfTyping = false
private var decimalUsed = false
@IBAction private func touchDigit(sender: UIButton)
{
if let digit = sender.currentTitle {
if userIsInTheMiddleOfTyping == true {
if digit == "." && decimalUsed == true {
return //where does this return to?
} else if digit == "." && decimalUsed == false {
decimalUsed = true
}
let textCurrentlyInDisplay = display.text!
display.text = textCurrentlyInDisplay + digit
} else {
display.text = digit
}
userIsInTheMiddleOfTyping = true
}
}
Чтобы быть честным, что код не является примером хорошего кода. Это ужасно. Никогда не сравнивать с булеанами явно. Кроме того, нет необходимости в переменной decimalUsed. Вы можете проверить это динамически, проверив текущий текст. Код также можно было бы упростить, используя предложения 'guard'. – Sulthan
С уважением, как вы можете не знать, куда он возвращается? Если бы были закрыты или что-то еще, я бы понял небольшую неопределенность, но это простая старая функция с простым старым «возвратом». Пожалуйста, снова прочитайте свои учебники (ы) о том, что означает 'return'. – luk2302
Спасибо @Sulthan! Я обязательно буду учитывать ваши комментарии. Я все еще изучаю веревки. :) –