我正在使用swift为iPad创建iOS应用程序。每个视图都会有一个表视图,我创建了一个UITableView
类,但我无法查看任何数据。我已经将其他视图中的tableview链接到该自定义类。
import UIKit
class SideTable: UITableView, UITableViewDataSource, UITableViewDelegate {
var TableItems = ["...", "Dashboard"]
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
override func awakeFromNib() {
super.awakeFromNib()
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return TableItems.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
var cell = dequeueReusableCell(withIdentifier: TableItems[indexPath.row])! as UITableViewCell
cell.textLabel?.text = TableItems[indexPath.row]
cell.textLabel?.numberOfLines = 0
cell.textLabel?.lineBreakMode = NSLineBreakMode.byWordWrapping
// let currentpagetitle = self.navigationItem.title?.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines)
let cellname = cell.reuseIdentifier?.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines)
// if (cellname == currentpagetitle)
// {
//
// cell.backgroundColor = UIColor.lightGray
// }
//
return cell
}
答案 0 :(得分:0)
您是否连接了数据源和委托? 放在你的viewwilllappear中,例如(或viewDidLoad):
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
self.tableview.datasource = self
self.tableview.delegate = self
}
如果您使用的是Storyboard或Xib,请将其连接 按住Ctrl键并单击tableview并与所有者连接,然后选择委托并重复数据源
如果这不是问题,可能是您对单元格的定义有疑问。改变你的dequeueCell:
let cell = tableView.dequeueReusableCellWithIdentifier("CellIdentifier", forIndexPath: indexPath) as UITableViewCell
如果单元格相似,请使用相同的标识符。现在您使用的是不同的名称,您正在为每个单元格使用TableItems [indexPath.row]