我正在使用swift3,我需要在视图控制器中放置一个表视图,但表格没有变化,我不知道原因:
我设置的委托和数据源以及函数:(
我的代码:
import Foundation
import Toast_Swift
public class ViewControllerDataList: UIViewController, UITableViewDelegate, UITableViewDataSource {
private var basededatos: BaseDeDatosFirebase!
private var mensajes: MensajesView!
private var tags: [ListaTags]?
let animals: [String] = ["Horse", "Cow", "Camel", "Sheep", "Goat"]
let cellReuseIdentifier = "cell"
@IBOutlet weak var tablaViewTags: UITableView!
override public func viewDidLoad() {
super.viewDidLoad()
basededatos = BaseDeDatosFirebase()
mensajes = MensajesView(vistaRoot: self)
tags = basededatos.traerTags()
print("Tags actuaes \(tags)")
self.tablaViewTags.delegate=self
self.tablaViewTags.dataSource=self
self.tablaViewTags.register(UITableViewCell.self,
forCellReuseIdentifier: "cell" )
// self.tablaViewTags.register(TagViewController.self,
// forCellReuseIdentifier: "cell")
}
override public func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
public func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return animals.count
}
public func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
// your cell coding
return UITableViewCell()
}
public func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return (tags?.count)!
}
public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
// create a new cell if needed or reuse an old one
let cell:UITableViewCell = self.tablaViewTags.dequeueReusableCell(withIdentifier: cellReuseIdentifier) as UITableViewCell!
// set the text from the data model
cell.textLabel?.text = self.animals[indexPath.row]
return cell
}
public func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
print("You tapped cell number \(indexPath.row).")
}
}
但结果是空的,我无法理解我哪里出错了?
答案 0 :(得分:1)
如果你想在那里显示一些单元格,你必须返回一些不同于0的单元格:
public func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 0 // your number of cell here
}
见行: 返回0 //此处的单元格数
尝试输入大于0的数字!