아래 코드에서 코드의 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
Srsly, 어떻게 돌아 오는지 알 수 없습니까? 관련 폐쇄가 있거나 아무것도 이해하지 못한다면 약간의 불확실성이 있습니다. 그러나 이것은 평범한 오래된'return'을 가진 단순한 오래된 함수입니다. 'return '이 무엇을 의미하는지 다시 한 번 읽어보십시오. – luk2302
감사합니다. @ 설화! 나는 여러분의 의견을 확실히 고려할 것입니다. 나는 아직도 로프를 배우고있다. :) –