为什么只有一个单元返回零?

时间:2016-02-11 06:30:41

标签: ios swift uitableview custom-cell

我已创建自定义单元格并将其连接为:

let cell: statisticsCell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! statisticsCell

后来我用它作为:

cell.calendarLabel.text = recordsArray[indexPath.row].time
cell.dayLabel.text = "A \(recordsArray[indexPath.row].date)"
cell.amountLabel.text = "\(recordsArray[indexPath.row].count)"

但是当我运行我的应用程序时,只有这些3中的单元格 - 返回nil并崩溃我的应用程序:

cell.dayLabel.text = "A \(recordsArray[indexPath.row].date)"

值不是零,我查了一下。

任何人都可以说我为什么会返回零?为什么只有一个标签从3返回nil,而它不是nil?

崩溃

它崩溃了:

fatal error: unexpectedly found nil while unwrapping an Optional value

上的

cell.dayLabel.text

3 个答案:

答案 0 :(得分:0)

查看您是否为dayLabel正确创建了插座并连接到Storyboard中的元素。

答案 1 :(得分:0)

cell.calendarLabel?.text = recordsArray[indexPath.row].time
cell.dayLabel?.text = "A \(recordsArray[indexPath.row].date)"
cell.amountLabel?.text = "\(recordsArray[indexPath.row].count)"

正如本answer中所述,您也可以尝试:

if let label = cell.dayLabel{
    label.text =  "A \(recordsArray[indexPath.row].date)"
}

答案 2 :(得分:0)

你是如何检查价值是否为零的?通过登录控制台,确保在将其设置为text dayLabel属性之前,请执行以下操作:

print(recordsArray[indexPath.row].date)

此外,日期 - 是字符串还是NSDate类型?