Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/44.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 无法在表视图上显示任何内容_Iphone_Swift_Uikit_Overriding_Tableview - Fatal编程技术网

Iphone 无法在表视图上显示任何内容

Iphone 无法在表视图上显示任何内容,iphone,swift,uikit,overriding,tableview,Iphone,Swift,Uikit,Overriding,Tableview,这是我的历史视图,我在视图控制器中有一个tableview。但由于某些原因,我无法输出任何内容,我试图对其进行硬编码,但它根本不显示任何内容。我知道的一件事是,我需要使tableView函数重写,如果我这样做,我会得到错误 import UIKit class History: UIViewController, UITableViewDataSource, UITableViewDelegate { @IBOutlet var tableView: UITabl

这是我的历史视图,我在视图控制器中有一个tableview。但由于某些原因,我无法输出任何内容,我试图对其进行硬编码,但它根本不显示任何内容。我知道的一件事是,我需要使tableView函数重写,如果我这样做,我会得到错误

  import UIKit

    class History: UIViewController, UITableViewDataSource, UITableViewDelegate
    {

    @IBOutlet var tableView: UITableView!

    override func viewDidLoad()
    {
        super.viewDidLoad()

        tableView.delegate = self
        tableView.dataSource = self

        self.view.backgroundColor = UIColor(patternImage: UIImage(named: "newBackground.jpg")!)
    }

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


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

     func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
    {
        let cell = tableView.dequeueReusableCellWithIdentifier("historyCell", forIndexPath: indexPath) as! historyCell

        cell.durationLabel.text = "98"

        return cell
    }


    override func viewWillAppear(animated: Bool)
    {
        super.viewWillAppear(animated)

    }

}
这是我的细胞原型课程,我确保标识符也是“historyCell”


您是如何将原型单元的控件连接到historyCell类中的IBOutlet的?我不知道当您不使用UITableviewController时这是可能的。我一直在用标签


除非有我不知道的新内容,否则您对cell.durationLabel.text的赋值应该会导致零展开(这是您得到的错误吗?

覆盖时会出现哪个错误?是的,这是我以前得到的错误,我会遇到零展开。我想我现在可以显示了,但它只在我旋转屏幕后显示我的标签,奇怪。。。你说我是如何连接它的@IBOutlet var durationLabel:UILabel!你刚刚证实了我在读你的问题时的怀疑。当我开始使用UITableView时,访问自定义单元格控件的唯一方法是通过findViewWithTag。在3个版本的XCode之后,我再也没有找到更好的方法。你让我意识到有一种方法可以以某种方式将表视图单元格连接到IBOutlet。我会检查一下,可能会删除很多代码。我喜欢消除代码。谢谢。当您旋转屏幕时,会重新绘制,并且可能会重新调用cellForRowAtIndexPath。是否检查了在视图最初出现时是否至少调用了一次cellForRowAtIndexPath?如果不调用它,这意味着表视图认为设计时的原型单元是可用的(这确实很奇怪)。如果它被调用,那么我需要在UITableViewCells中完成关于IBOutlets的作业,然后才能假装有帮助。我的tableView是在我们仍然需要显式调用tableView.reload()时编程的(现在设置委托应该可以处理所有事情)。也许在某些情况下仍然需要调用.reload()。我建议这样做。至少它应该强制tableview重新绘制单元格。我也很困惑。最后一件事。您为视图设置的背景颜色是否可能太暗,以至于您无法看到实际正确显示的单元格内容?
public class historyCell: UITableViewCell{
    @IBOutlet var durationLabel: UILabel!
    @IBOutlet var kicksLabel: UILabel!

}