iOS Swift退出队列的可重用单元未显示

iOS Swift退出队列的可重用单元未显示,ios,uitableview,swift,Ios,Uitableview,Swift,我按照前面的教程了解故事板的基本知识,并将这些代码用作编写我正在开发的应用程序的参考。我想测试我的原型单元布局,但即使我在viewDidLoad为数组设置了一个值,它仍然拒绝显示任何内容 import UIKit class DetailViewController: UIViewController { var cards = [Card]() @IBOutlet weak var cardsTableView: UITableView! @IBOutlet we

我按照前面的教程了解故事板的基本知识,并将这些代码用作编写我正在开发的应用程序的参考。我想测试我的原型单元布局,但即使我在viewDidLoad为数组设置了一个值,它仍然拒绝显示任何内容

import UIKit

class DetailViewController: UIViewController {

    var cards = [Card]()

    @IBOutlet weak var cardsTableView: UITableView!
    @IBOutlet weak var detailDescriptionLabel: UILabel!


    var detailItem: AnyObject? {
        didSet {
            // Update the view.
            self.configureView()
        }
    }

    func configureView() {
        // Update the user interface for the detail item.
        if let detail: AnyObject = self.detailItem {
            if let label = self.detailDescriptionLabel {
                label.text = detail.description
            }
        }
    }

    func tableView(tableView: UITableView, numberOfRowsInSection section:    Int) -> Int {
        return cards.count
    }

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        //példányosítunk egy cellát
        let cell = tableView.dequeueReusableCellWithIdentifier("CardCell", forIndexPath: indexPath) as CardCell
        //kivesszük a sor adatait a listából
        let card : Card = self.cards[indexPath.row]

        cell.setCardNumber(card.number)
        cell.layer.cornerRadius = 8

        return cell
    }


    override func viewDidLoad() {
        super.viewDidLoad()

            self.cards = [Card(number: 123456789,type: 1)]

            dispatch_async(dispatch_get_main_queue(), {
                self.cardsTableView.reloadData()
    })
        self.configureView()
    }

}
我从主细节结构开始,将细节场景的类设置为DetailViewController,将原型的类和标识符设置为CardCell

class Card{
    let number: Int
    let type: Int

    init(number: Int, type: Int){
        self.number = number
        self.type = type
    }
}


import UIKit
class CardCell: UITableViewCell {

    @IBOutlet weak var cardNumber: UILabel!

    func setCardNumber(number: Int){
        cardNumber.text = String(number)
    }
}

我相信这是一些基本的东西,但我已经在第二天搞砸了。非常感谢您的建议。

您必须为表视图设置数据源,我想委托方法永远不会被调用

另外添加UITableViewDataSource,这不是必需的,但比实现更具声明性

class DetailViewController: UIViewController, UITableViewDataSource {

当您单击情节提要中的原型单元并查看属性检查器时,是否在其中输入了
CardCell
重用标识符?该IBOutlet是否连接到情节提要?故事板中的原型单元实际上是CardCell类吗?现在我的类定义是
class DetailViewController:UIViewController、UITableViewDataSource、UITableViewDelegate{
,但仍然不走运。您在故事板中设置了数据源吗?@LanceToth您需要按住CTRL键从TableView拖动到ViewController并单击“delegate”和“datasource”。@LanceToth您是否在viewDidLoad方法中设置了表视图的delegate和datasource,如cardsTableView.delagate=self和cardsTableView.datasource=self?谢谢大家,CTRL-drag总是让我着迷。