2015-11-02 57 views
2

我試圖在UITableView的單元格中顯示一些內容。該方案確實達到了cellForRowAtIndexPath:IBOutlet是零,但它連接在故事板(Swift 2)

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 

    let cell: EventTableViewCell = self.tableView.dequeueReusableCellWithIdentifier("eventCell") as! EventTableViewCell 

    let date = self.eventArray[indexPath.row].startTime 
    let calendar = NSCalendar.currentCalendar() 
    let minutes = calendar.component(NSCalendarUnit.Minute, fromDate: date) 
    var minutesString: String 
    if (minutes == 0) { 
     minutesString = "00" 
    } else { 
     minutesString = String(calendar.component(NSCalendarUnit.Minute, fromDate: date)) 
    } 
    let hours = calendar.component(NSCalendarUnit.Hour, fromDate: date) 
//this next line of code works, i see cell text: 
// cell.textLabel?.text = self.eventArray[indexPath.row].title + " - \(hours):\(minutesString)" 

//these lines do not work, see empty cells: 
    cell.cellLable?.text = self.eventArray[indexPath.row].title + " - \(hours):\(minutesString)" 
    cell.textField?.text = self.eventArray[indexPath.row].notes 
    return cell 
} 

我已經正確連接網點enter image description here

如果我設置斷點,細胞似乎是EventTableViewCell,但兩者cellLabeltextField是零: enter image description here

我的表格視圖連接如下所示:

對於這裏的eventCell

enter image description here

連接檢查: enter image description here

我也取得了查看內容的背景顏色爲藍色,但似乎我沒有看到我的手機全部內容視圖。

我的自定義單元格類看起來是這樣的: enter image description here

+0

您是否在TableView中使用autoLayout?如果是,那麼請檢查您的意見的自動佈局約束。還請檢查您是否具有tableview的映射委託和數據源到Storyboard中的相應ViewController。 –

+0

已檢查:不使用自動佈局約束,並且委託和數據源已連接 –

+0

您可以顯示您的自定義單元格嗎? –

回答

1

檢查您是否具有對IB你的正確的標識符。讓cell ...返回零,這似乎是你的問題。

let cell: EventTableViewCell = self.tableView.dequeueReusableCellWithIdentifier("eventCell") as! EventTableViewCell 
+0

它有正確的標識符,我首先檢查了它。 –

+0

cell不是nil,cell是EventTableViewCell類型的對象,奇怪的是默認單元格文本的第一行工作:cell.textLabel?.text = ...但是我的cell.cellLable?.text = ... does不。 –

+0

您可以通過突出顯示eventCell並顯示Connections Inspector來顯示所有單元出口的連接嗎? –

0

cell.textLabel可以工作,因爲您繼承了UITabelViewCell類。你得到一個UITabelViewCell作爲參考 - 這是被授予的。

在範圍內創建對您的標籤的強烈參考。 放置一個斷點並驗證您實際獲得的細胞。 (的確是您的正確的子類或通用的。)

如果單元格對象是正確的,但沒有獲得標籤,它必須與插座相關。 在Swift中的某些情況下,我需要將UIElement的OUTLET從弱變爲強壯。

如果是,則只有標籤的屬性仍然是原因。給標籤一個背景顏色。它的佈局實際上是可見的? (例如:hidden = NO,alpha = 1,frame/constrains使其可見等等。)