我正在使用customtableview单元设置一个tableview,但是当我运行该应用程序时,数据不会显示。
我已经检查了所有连接,标识符,类名等
import UIKit
class ViewController: UITableViewController {
@IBOutlet var testingTableView: UITableView!
var data = ["Indomie","Kacang Tanah","Soya"]
override func viewDidLoad() {
super.viewDidLoad()
testingTableView.register(UINib(nibName: "TableViewCell", bundle: nil), forCellReuseIdentifier: "customCell")
// Do any additional setup after loading the view.
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = testingTableView.dequeueReusableCell(withIdentifier: "customCell", for: indexPath) as! customTableViewCell
cell.customLabel.text = data[indexPath.row]
return cell
}
override func numberOfSections(in tableView: UITableView) -> Int {
return data.count
}
}
这是我用于表格视图的代码,应该调用cellforrowat,但是不是
答案 0 :(得分:0)
我想您需要下面的其他代码-
testingTableView.delegate = self
testingTableView.datasource = self
testingTableView.reloadData() // I think you missed it!
答案 1 :(得分:0)
您缺少tableView(_:numberOfRowsInSection:)
实施。
您有data.count
个部分,但每个部分都有0行。
尝试将numberOfSections(in:)
替换为tableView(_:numberOfRowsInSection:)
答案 2 :(得分:0)
1)。添加此行
@IBOutlet var testingTableView: UITableView! {
didSet {
testingTableView.delegate = self
testingTableView.dataSource = self
}
}
2)。您也可以通过Stroyboard添加此功能。单击表,然后使用鼠标右键单击将指针拖到ViewController上,并添加委托和数据源。
我想你错过了
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 0 //As per your need.
}
答案 3 :(得分:0)
您使用了错误的API,numberOfSections
返回了节的数量,但是您必须返回了行
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { {
return data.count
}
无需覆盖numberOfRowsInSection
,默认值为1
。
并删除
@IBOutlet var testingTableView: UITableView!
有tableView
的隐式UITableViewController
属性