单击按钮时更改 tableView 的标签文本 Swift
Change label text of tableView on button click Swift
我做了一个简单的练习tableView和Singletons的app。我是 swift 的新手,所以我希望能在这方面得到一些快速帮助。想做的事情很简单,暂时想不出来
import UIKit
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource{
var tableView = UITableView()
let names = Singleton.shared.nameArray
override func viewDidLoad() {
super.viewDidLoad()
view.addSubview(tableView)
tableView.register(UITableViewCell.self, forCellReuseIdentifier: "cell")
tableView.delegate = self
tableView.dataSource = self
}
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
tableView.frame = .init(x: 0, y: 0, width: 414, height: 260)
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return names.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
let name = names[indexPath.row]
cell.textLabel?.text = "cell \(indexPath.row + 1)"
return cell
}
@IBAction func didPressButton(_ sender: Any) {
}
}
基本上我希望 tableView 标签更改为我在单击按钮后创建的这个 name
常量。
抱歉,如果我没有在问题中说清楚所有内容,我希望您能理解并能够帮助我。很难解释代码,因为我是 swift 的新手,英语不是我的母语。
已编辑以澄清一些问题。
加入ViewController:
private var areNamesVisible = false
@IBAction func didPressButton(_ sender: Any) {
areNamesVisible.toggle()
tableView.reloadData()
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
let name = names[indexPath.row]
cell.textLabel?.text = areNamesVisible ? name : "cell \(indexPath.row + 1)"
return cell
}
我做了一个简单的练习tableView和Singletons的app。我是 swift 的新手,所以我希望能在这方面得到一些快速帮助。想做的事情很简单,暂时想不出来
import UIKit
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource{
var tableView = UITableView()
let names = Singleton.shared.nameArray
override func viewDidLoad() {
super.viewDidLoad()
view.addSubview(tableView)
tableView.register(UITableViewCell.self, forCellReuseIdentifier: "cell")
tableView.delegate = self
tableView.dataSource = self
}
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
tableView.frame = .init(x: 0, y: 0, width: 414, height: 260)
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return names.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
let name = names[indexPath.row]
cell.textLabel?.text = "cell \(indexPath.row + 1)"
return cell
}
@IBAction func didPressButton(_ sender: Any) {
}
}
基本上我希望 tableView 标签更改为我在单击按钮后创建的这个 name
常量。
抱歉,如果我没有在问题中说清楚所有内容,我希望您能理解并能够帮助我。很难解释代码,因为我是 swift 的新手,英语不是我的母语。
已编辑以澄清一些问题。
加入ViewController:
private var areNamesVisible = false
@IBAction func didPressButton(_ sender: Any) {
areNamesVisible.toggle()
tableView.reloadData()
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
let name = names[indexPath.row]
cell.textLabel?.text = areNamesVisible ? name : "cell \(indexPath.row + 1)"
return cell
}