在标签中显示10个Int的数组

时间:2016-08-18 10:58:55

标签: arrays swift label multiplication

我正在尝试构建一个基本的乘法应用程序,根据您在文本字段中键入的数字,将显示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
    }
}

1 个答案:

答案 0 :(得分:0)

更改

tablesLabel.text = ("\(index) times \(number) is \(tablesArray)")

tablesLabel.text = ("\(tablesLabel.text ?? "") \(index) times \(number) is \(tablesArray)")

每次都会覆盖标签的文字。这不会覆盖标签的文本并将新文本添加到其中。