2016-06-24 51 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」。

然後,您將在應用程序運行時顯示錶格的內容。