因此,我试图制作生日应用程序,该应用程序会记录书面textField值的名称和生日。当我按下按钮时,这些值将保存在两个单独的数组中。这些名称将在tableView上显示。我在单元格上看不到nameArray的值,但是程序成功构建。
我的问题是如何使用nameArray的值更新tableView单元格名称?
提前致谢
import UIKit
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate{
@IBOutlet weak var nameTF: UITextField!
@IBOutlet weak var birthdayTF: UITextField!
@IBOutlet weak var firstTV: UITableView!
var nameArray = [String]()
var birthdayArray = [String]()
let rowName = UITableViewCell()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
firstTV.delegate = self
firstTV.dataSource = self
}
@IBAction func saveButton(_ sender: Any) {
nameArray.append(nameTF.text!)
birthdayArray.append(birthdayTF.text!)
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return nameArray.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
rowName.textLabel?.text = nameArray[indexPath.row]
return rowName
}
}
您需要阅读一些有关使用表视图和可重用表视图单元的教程。
我假设在Storyboard中,您向表格视图添加了一个单元,并将其样式设置为Basic。您需要给该原型单元一个标识符-例如“ cell”:
然后,在您的cellForRowAt
函数中,使该单元的可重用实例出队。
这是修改后的代码:
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate{
@IBOutlet weak var nameTF: UITextField!
@IBOutlet weak var birthdayTF: UITextField!
@IBOutlet weak var firstTV: UITableView!
var nameArray = [String]()
var birthdayArray = [String]()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
firstTV.delegate = self
firstTV.dataSource = self
}
@IBAction func saveButton(_ sender: Any) {
nameArray.append(nameTF.text!)
birthdayArray.append(birthdayTF.text!)
firstTV.reloadData()
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return nameArray.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
cell.textLabel?.text = nameArray[indexPath.row]
return cell
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句