Я делаю калькулятор быстрым. Функционирование очень хорошо пока, кроме дисплея, который находится UILabel
.Почему ярлык еще добавляет 0 после нажатия кнопки «C»?
Я хочу, чтобы очистить экран, нажав кнопку C
, для этого я сделал так внутри clear()
я написал history.text ="\0"
это вызвано добавить 0
в следующий раз при нажатии новой цифры.
Позвольте мне предположить, что я назначил цифру 1 2 * 4
, а нижняя метка отображает историю каждой нажатой кнопки, которая равна 4 * 2 1
.
ПРОБЛЕМА при нажатии кнопки C, чтобы очистить 0 STAYS ТАМ И СЛЕДУЮЩИЙ РАЗ APPEND С 0 LIKE 4 * 2 1 0
Скачать Project все файлы https://drive.google.com/file/d/0B8U2LI6a3maPdmhWVjg4OWREdlE/view?usp=sharing
@IBAction func clear() {
displayValue = 0 //this is about label on top
history.text = "\(0)" //this is about label on bottom
}
@IBAction func appendDigit(sender: UIButton) {
let digit = sender.currentTitle!
displayHistory(digit)
if digit == "." {
if (display.text!.rangeOfString(".") == nil) {
display.text = display.text! + "."
} else {
//Don't display anything
}
}
else {
if userIsInTheMiddleOfTypingANumber {
display.text = display.text! + digit
} else {
display.text = digit
userIsInTheMiddleOfTypingANumber = true
}
}
}
func displayHistory(historyLabel: String) {
history.text = historyLabel + history.text!
}
Во-первых, вы должны объяснить, что представляют все поля. Что такое «история»? Что такое 'historyLabel'? Что такое 'displayValue'? Затем попробуйте подумать, как каждый метод влияет на ваши поля. – Sulthan