我已创建自定义单元格并将其连接为:
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
答案 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类型?