无法在iOS中使用滑块显示乘法表

时间:2019-02-25 18:22:11

标签: ios swift uitableview

下面是我在Xcode中编写的用于在调整滑块时显示乘法表的代码;滑块组的最小值为0.05,最大值为1。项目中有一个表格视图和滑块。我添加了打印语句来调试代码。当我最后将Table1.Reload()添加到sliderChanged函数时,我得到的是2的乘法表,但是当我调整滑块时,它并没有改变。滑块值越来越大。但是,一旦我删除了重载方法,滑块值就会正确更改,但是乘法表会被打到0。

import UIKit
class ViewController: UIViewController,UITableViewDelegate, UITableViewDataSource {
  //  var cellcontent[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
    var cellcontent = [Int](repeating: 0, count: 50 )
    var countr=50
    var count:Float=0.0
    var count2:Int=0
    var i=0
    var j=0
    internal func multiply(){
    print("check1")
        while j<50{
        // print(i)
            i+=1
          //  yourArray.insert("Hey, I'm first!", atIndex: 0)
            cellcontent[j] =  i*count2
           // cellcontent.insert(cellcontent[j],at:j)
    print(cellcontent[j])
            j=j+1
        }
    }

    internal func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return cellcontent.count
    }

    internal func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell=UITableViewCell(style:UITableViewCell.CellStyle.default,reuseIdentifier: "cell")
        //   cell.textLabel?.text="Top row"
     //   print("c")
        //multiply()
        cell.textLabel?.text=String(cellcontent[indexPath.row])
        return cell


    }
    @IBOutlet weak var slider: UISlider!

    @IBOutlet weak var Table1: UITableView!

    @IBAction func sliderChanged(_ sender: Any) {
        //slider.maximumValue=Float(Int(countr))
        count=(slider.value*20)
        count2 = Int(round(count))
        print(count2)
        print(count)
    multiply()
    //     Table1.reloadData()
    }


    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }



}

1 个答案:

答案 0 :(得分:1)

欢迎您!我用注释过的Table1.reloadData()尝试了您的代码,发现您的代码有一个非常基本的错误:
在函数multiply()中,您有一个while循环,该循环将j递增到50,并将数据源的内容设置为此值。 j达到50后,就没有任何变化。
因此,您必须更正循环以显示所需的内容。