在 UITableView 中获取输入 onclick
Getting an input onclick in UITableView
我正在尝试在用户点击 UITableView 的单元格时获取输入。那是我的代码:
import UIKit
class TableView: UIViewController, UITableViewDataSource {
public var data = Array<Array<String>>()
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return data.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cellIdentifier")!
cell.textLabel?.text = data[indexPath.row][0]
cell.detailTextLabel?.text = data[indexPath.row][1]
return cell
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
print("TEST")
}
}
在 ViewController 我有:
...
let tvClass = TableView()
override func viewDidLoad() {
super.viewDidLoad()
tvClass.data = [["title", "name"]]
self.tableView.dataSource = tv
self.tableView.alwaysBounceVertical = false
}
...
为什么我在单击单元格时没有得到 "TEST"?
didSelectRowAt
是 UITableViewDelegate
中的一个方法,所以,在 viewDidLoad
中像这样设置 table 委托
self.tableView.delegate = self;
并像这样更改 class 声明
class TableView: UIViewController, UITableViewDataSource , UITableViewDelegate {
唯一缺少的是
表格视图代理。
作为代表告诉 iOS sdk 知道正在执行的操作。
self.tableView.delegate = self
我正在尝试在用户点击 UITableView 的单元格时获取输入。那是我的代码:
import UIKit
class TableView: UIViewController, UITableViewDataSource {
public var data = Array<Array<String>>()
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return data.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cellIdentifier")!
cell.textLabel?.text = data[indexPath.row][0]
cell.detailTextLabel?.text = data[indexPath.row][1]
return cell
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
print("TEST")
}
}
在 ViewController 我有:
...
let tvClass = TableView()
override func viewDidLoad() {
super.viewDidLoad()
tvClass.data = [["title", "name"]]
self.tableView.dataSource = tv
self.tableView.alwaysBounceVertical = false
}
...
为什么我在单击单元格时没有得到 "TEST"?
didSelectRowAt
是 UITableViewDelegate
中的一个方法,所以,在 viewDidLoad
self.tableView.delegate = self;
并像这样更改 class 声明
class TableView: UIViewController, UITableViewDataSource , UITableViewDelegate {
唯一缺少的是
表格视图代理。
作为代表告诉 iOS sdk 知道正在执行的操作。
self.tableView.delegate = self