2016-06-24 52 views
0

我有以下雨燕自定义TableViewCell不会显示标签

class CurrentFileCell: UITableViewCell { 

@IBOutlet weak var nameLabel: UILabel! 
@IBOutlet weak var dateLabel: UILabel! 
@IBOutlet weak var statusImage: UIImageView! 


var currentContent: AircraftContent! { 
    didSet{ 
     setStyles(Constants.appStyleSetting) 

     nameLabel.text = currentContent.contentName 
     dateLabel.text = currentContent.contentStatus 

    } 
} 

称为CurrentFilesCell与设定代码自定义单元格类中我CurrentFilesViewController我干脆的cellForRowAtIndexPath

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

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    let cell = tableView.dequeueReusableCellWithIdentifier("CurrentFileCell", forIndexPath: indexPath) as? CurrentFileCell 
    cell?.currentContent = content 

    return cell! 
} 

中设置它,我相信我也有一切正确,因为我已经在其他类中做过类似的事情,包括cell和vc。 我的问题是,它不会加载任何东西时运行,没有默认的文本,没有更新的文本后,它应该已经设置。下面是该联动

http://imgur.com/qlK4d5O

我真的不知道是怎么回事,为什么这是行不通的图像。我试图删除它并重新创建,但我必须错过一些东西。

编辑 这是调试器的图片,显示单元的currentContent不为空。这是在返回单元之前采取的!被执行。

http://imgur.com/O250qXq

+0

首先,如果代码没有崩溃,您必须使用调试器来遍历您的代码,并检查是否返回了正确的段数,正确的段数和正确的内容。其次,尝试重新加载tableview以检查信息是否设置正确,并且这仅仅是'UITableViewCell'生命周期不存在的问题(即单元格的出口不能在'tableView:cellForRowAtIndexPath:'中设置)。第三,编辑你的问题以包含所有这些信息。 –

+0

我添加了另一张图片来表明它不是空的 – John511

+0

好的。在运行时添加实际单元格的图像,并使用视图调试器检查单元格,以防万一您的约束条件错误并将标签/图像推送到屏幕外。 –

回答

0

你在登记表视图这种细胞?如果不是dqueRqusableCellWithIdentifier将返回零值... 您可以使用UITableView函数“registerNib: forCellReuseIdentifier:”

+0

不完全确定你的意思。你能解释一下吗? – John511

+0

当您创建自定义单元格时,您有两种可能性: 1)原型单元格 2)使用XIB文件 使用第二种方法,您需要在表格视图中注册单元格(以便您的表格视图知道从何处获取UI对于这种细胞)。现在有意义吗?如果不是,我可以给予更深入的解释。 – Volodymyr

+0

我只是使用原型单元格,所以不确定是否适用。 – John511

0

注册它在故事板中,您必须定义原型表格单元格的子类。

然后,您必须将原型表格单元格的标识符定义为“CurrentFileCell”。

然后,您将在应用程序运行时显示表格的内容。