IBOutlet是零,但它连接在故事板(Swift 2)

时间:2015-11-02 13:00:34

标签: ios xcode storyboard swift2

我试图在UITableView的单元格中显示一些内容。该计划确实达到cellForRowAtIndexPath:

 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

我的表格视图连接如下所示:

enter image description here

此处eventCell的连接检查器: enter image description here

我还将内容视图背景颜色设置为蓝色,但似乎我在单元格中看不到整个内容视图。

我的自定义单元格类如下所示: enter image description here

2 个答案:

答案 0 :(得分:1)

检查IB中您的单元格是否具有正确的标识符。让cell ...返回nil,这似乎是你的问题。

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

答案 1 :(得分:0)

cell.textLabel可以继承UITabelViewCell类。您将获得UITabelViewCell作为参考 - 已授予。

在范围内创建对标签的强引用。 放置断点并验证您实际获得的单元格。 (确实是你的正确子类或通用的。)

如果单元格对象正确,但您没有获得标签,则必须与出口相关。 在Swift的某些情况下,我发现需要将ULElement的OUTLET从弱变为强。

如果是,则仅保留标签的属性作为原因。为标签指定背景颜色。它的布局实际上是可见的吗? (例如:hidden = NO,alpha = 1,frame / constrains使其可见,等等。)