我正在尝试构建一个基本的乘法应用程序,根据您在文本字段中键入的数字,将显示1次表格,最多10次表格。
当我运行我的代码时,我的标签只生成1行,这是计算的最后一次乘法的结果。例如,10次8是80,其他9次没有被添加,在此之后我的完整数组显示显示表的正确答案。这是我的代码
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var numberTextField: UITextField!
@IBOutlet weak var tablesLabel: UILabel!
var tablesArray = [Int]()
var number = 0
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
@IBAction func tablesButtonTapped(_ sender: AnyObject) {
if numberTextField.text == "" {
print("Sorry you must enter a number between 1 and 10")
} else {
tablesArray = []
tablesLabel.text = ""
multiplyBy(number: Int(numberTextField.text!)!)
numberTextField.text = ""
}
}
func multiplyBy(number: Int) {
for index in 1...10 {
tablesArray.append(index * number)
print(tablesArray)
tablesLabel.text = ("\(index) times \(number) is \(tablesArray)")
}
tablesLabel.isHidden = false
}
}
答案 0 :(得分:0)
更改
tablesLabel.text = ("\(index) times \(number) is \(tablesArray)")
到
tablesLabel.text = ("\(tablesLabel.text ?? "") \(index) times \(number) is \(tablesArray)")
每次都会覆盖标签的文字。这不会覆盖标签的文本并将新文本添加到其中。