(Very初学者用户btw.我尽力解释)
我有一个文本框,一个按钮和一个表格。在应用程序中,你在框中输入一个数字,然后按下按钮,表格应该填充10行,输入的数字乘以行号。
这是我目前得到的代码。
import UIKit
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet weak var inputText: UITextField!
@IBAction func goButton(_ sender: Any) {
let input: Int? = Int(inputText.text!)
// should the multiplication happen here or in the tableView func??
// let result: Int? = INDEX OF ROW * input!
//table values should change when button is pressed
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 10
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let aCell = tableView.dequeueReusableCell(withIdentifier: "aCell", for: indexPath)
var content = UIListContentConfiguration.cell()
// content = result
aCell.contentConfiguration = content
return aCell
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
}
如何将按钮链接到表,以便当用户将数字放入框中然后按下按钮时,表中的值将发生变化?
1条答案
按热度按时间ljsrvy3e1#
假设您实际上在这个视图控制器中设置了一个
UITableView
作为一个插座,您所需要做的就是在goButton
函数中调用tableView.reloadData()
。然后在
cellForRowAt
中得到行号indexPath.row
。将其乘以输入的数字,并将该数字提供给单元配置。正如您在代码中所看到的,您需要确保您实际上有一个表视图设置。
goButton
方法只是重新加载表视图。cellForRowAt
计算该行的结果,并将其传递给单元配置。