带有CustomCell的UITableView不会在Xcode9上显示数据Swift4

时间:2018-04-06 21:15:24

标签: ios swift xcode uitableview custom-cell

我阅读了其他主题,但没有解决我的问题,我创建了一个tableview和你的单元格具有相同的值来进行测试,但是当我执行我的项目时,没有显示任何数据。我把5行大小只用于测试。我不知道为什么我的代码不起作用。

我的故事板: enter image description here

TableViewCellVenda.swift

class TableViewCellVenda: UITableViewCell {

    @IBOutlet weak var cellView: UIView!
    @IBOutlet weak var imageCloud: UIImageView!
    @IBOutlet weak var labelValorTotal: UILabel!
    @IBOutlet weak var labelQtdItens: UILabel!
    @IBOutlet weak var labelCliente: UILabel!
    @IBOutlet weak var labelDataVenda: UILabel!

    override func awakeFromNib() {
        super.awakeFromNib()

    }

    override func setSelected(_ selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)

        // Configure the view for the selected state
    }

}

ViewControllerVendas.swift

class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {

    // UI View
    @IBOutlet weak var tableViewVendas: UITableView!
    @IBOutlet weak var waitView: UIActivityIndicatorView!

    // DB
    var db: OpaquePointer?
    var count : Int = 0

    // Data
    var saleOrders : [SaleOrder] = []

    override func viewDidLoad() {
        super.viewDidLoad()


        self.waitView.startAnimating()
        self.waitView.hidesWhenStopped = true

        tableViewVendas.delegate = self
        tableViewVendas.dataSource = self


    }

    // TableView
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 5
    }

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "cellVenda") as! TableViewCellVenda
        print("Cell for row")
        cell.labelCliente.text = "Nome do Cliente"
        cell.labelDataVenda.text = "14/02/1991"
        cell.labelQtdItens.text = "20"
        cell.labelValorTotal.text = "R$ 542,22"

        return cell
    }

    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        return 75
    }


}

仿真器: enter image description here

1 个答案:

答案 0 :(得分:-1)

尝试添加一个类型为UITableView的新swift UIKit文件,并在那里进行所有tableview设置。而粗略设置表的类作为这个UITableView类。