视图控制器内部的UITable视图,不随代理和数据源实现而改变

时间:2017-04-11 20:52:17

标签: ios uitableview swift3

我正在使用swift3,我需要在视图控制器中放置一个表视图,但表格没有变化,我不知道原因:

我设置的委托和数据源以及函数:(

enter image description here

我的代码:

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).")
    }


}

但结果是空的,我无法理解我哪里出错了?

enter image description here

1 个答案:

答案 0 :(得分:1)

如果你想在那里显示一些单元格,你必须返回一些不同于0的单元格:

public func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 0 // your number of cell here
    }

见行: 返回0 //此处的单元格数

尝试输入大于0的数字!