我正在运行以下代码,并UITableView
嵌套在UIViewController
内。代码应使用nib
来填充行,但由于某些原因,UITableView
加载时不会显示任何内容。以下是与UIViewController
相关联的具有嵌入式tableview
的类。有谁知道为什么这可能没有加载?
我尝试过的代码:
import UIKit
import Firebase
class Today: UIViewController, UITableViewDelegate, UITableViewDataSource {
var anArray: [String] = ["a", "b", "c"]
@IBOutlet weak var myTableView: UITableView!
override func viewDidLoad() {
let nib = UINib.init(nibName: "ScheduleCellTableViewCell", bundle: nil)
self.myTableView.registerNib(nib, forCellReuseIdentifier: "cell")
self.myTableView.reloadData() //<<<<<<<<<<<<< RELOADS TABLEVIEW
}//viewDidLoad() ends here
public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
//return the count of the number of groups
return anArray.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! ScheduleCellTableViewCell
let val = indexPath.row
cell.testLabel.text = anArray[val]
return cell
}
public func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return 160.0
}
}
答案 0 :(得分:3)
reloadData()
{}} {} {}需要UITableView
{/ 1}}。
在viewDidLoad()
的{{1}}中联系UITableView
dataSource and delegate
。如下所示,
答案 1 :(得分:1)
确保UITableview
代表和datasource
从[{1}}正确分配,如果没有,则将其分配到storyboard
功能
viewDidLoad
答案 2 :(得分:0)
问题可能出在ScheduleCellTableViewCell
,你没有将CellIdentifier设置为&#34; cell&#34;。
顺便说一句,我不认为self.myTableView.reloadData()
需要viewDidLoad()
。
答案 3 :(得分:0)
//连接表格视图插座
@IBOutlet var tableView: UITableView!
override func viewDidLoad() {
self.tableView.delegate = self
self.tableView.datasource = self
self.tableView.reloadData()
}