我一直困扰着这个问题好几天了,所以如果有人可以帮助我,我将非常高兴。
我试图创建一个动态UITableView,为此我创建了一个自定义UITableView子类,并且还创建了一个自定义UITableViewCell子类,因为每个单元格中需要多个UILabel和一个UIButton。
创建了单元格,但是问题在于标签的值始终为nil,因此无法正确显示单元格。
This is, Storyboard 的外观以及this is运行程序时看到的内容。

这是我的UITableViewCell子类:

import UIKit

class QuestionTableViewCell: UITableViewCell {

    @IBOutlet var student: UILabel!
    @IBOutlet var labDesk: UILabel!
    @IBOutlet var topic: UILabel!
    @IBOutlet var answers: UILabel!

}

和我的UITableView子类:
import UIKit

class QuestionViewController: UITableViewController, UITableViewDelegate, UITableViewDataSource {

    @IBOutlet var table: UITableView!
     struct Question {
        var student: String
        var labDesk: String
        var topic: String
        var answered: String
    }

    override func viewDidLoad() {
        super.viewDidLoad()
        table.estimatedRowHeight = 50
        table.dataSource = self
        table.delegate = self
        self.table.registerClass(QuestionTableViewCell.self, forCellReuseIdentifier: "cell")
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }

    override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
        return 1
    }

    override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 1
    }

    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCellWithIdentifier("cell") as QuestionTableViewCell
        cell.student.text = "random string"
        cell.labDesk?.text = "25/A"
        cell.topic?.text = "string"
        cell.answers?.text = "3"
        return cell
    }
}

最佳答案

尝试删除self.table.registerClass(QuestionTableViewCell.self, forCellReuseIdentifier: "cell")

09-25 21:01