2016-02-11 2 views
0

Я создал пользовательскую ячейку и подключил его как:Почему только одна из ячеек возвращает нуль?

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 - возвращает ноль и сбрасывает мое приложение:

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

Значение не ноль, я проверил его.

Может ли кто-нибудь сказать мне, почему он возвращает нуль? Почему только одна метка из 3 возвращает ноль, а это не ноль?

Краш

Он падает с:

fatal error: unexpectedly found nil while unwrapping an Optional value 

на

cell.dayLabel.text 
+0

из 3 средство? Ряд нет - 3? –

+0

Пожалуйста, добавьте еще код, будет полезно –

+0

1. Что такое журнал аварий? 2. Объясните в деталях, с менее запутанными условиями. 3. Что вы имеете в recordArray? – Vizllx

ответ

0

Смотрите, если вы создали розетки правильно для dayLabel и подключены к элементу в раскадровке.

+0

Я связал его, как те, другие 2 этикетки. –

+0

попробуйте повторить еще раз. Bcz, если ссылка не относится к объекту в пользовательском интерфейсе и вы пытаетесь изменить свойства, он также даст аналогичные ошибки. Поэтому лучше попробуйте отключить и снова подключиться и увидеть. – Amulya

+0

Я сделал это уже 3 раза. Не помогает –

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)" 
} 
+0

Я уже пробовал этот вариант. Он по-прежнему падает –

0

Как проверить, если значение не ноль? Убедитесь, что, войдя в консоли, прямо перед тем, как установить его на text собственности dayLabel, как это:

print(recordsArray[indexPath.row].date) 

Кроме того, дата - это шпагат или NSDate типа?