Привет, я только что подобрал Свифта и следую открытому курсу Стэнфорда. Я делал этот калькулятор и получил точку останова в строке userIsInTheMiddleOfTyping = false
в функции func enter, когда я разместил строку до . После того, как я поместил строку в нижней части функции, проблема была решена. Но почему?Вопросы относительно установки значений и геттеров и сеттеров в Swift
Кроме того, я не получаю часть получения и установки в displayValue. Может кто-нибудь помочь объяснить, как эта часть выполнена. И откуда взялась новая ценность? почему он представляет любую ценность на дисплее? Выполняется код. Буду признателен за любые ответы и комментарии!
class ViewController: UIViewController {
@IBOutlet weak var display: UILabel!
var userIsInTheMiddleOfTypingAnNumber = false
@IBAction func AppendDigit(sender: UIButton) {
let digit = sender.currentTitle!
if userIsInTheMiddleOfTypingAnNumber {
display.text = display.text! + digit
}
else{
display.text = digit
userIsInTheMiddleOfTypingAnNumber = true
}
}
var operandStack = Array<Double>()
@IBAction func enter() {
operandStack.append(displayValue)
println("operandStack=\(operandStack)")
userIsInTheMiddleOfTypingAnNumber = false
}
var displayValue: Double{
get{
return NSNumberFormatter().numberFromString(display.text!)!.doubleValue
}
set{
display.text = "\(newValue)"
userIsInTheMiddleOfTypingAnNumber = false
}
}
}