После обновления до последней версии XCode 7 beta 5 мое приложение ведет себя очень странно. После запуска я получил это:ios 9 UITableView ghost пустые ячейки
После нескольких обновлений страницы:
И снова после нескольких обновлений раздел пошел нормально (но ошибки в других разделах):
Все время в отладчике все s eems быть хорошим: все данные загружаются с сервера и отправляются в таблицу ...
Есть ли у кого-нибудь идеи, почему это происходит?
Код:
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell:EventCell = self.contentWindow.dequeueReusableCellWithIdentifier("evcell")! as! EventCell
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "HH:mm"
var index = 0;
for date in keysSet {
if (index==indexPath.section)
{
cell.timeLabel.text = dateFormatter.stringFromDate(datesOfEvents[date]![indexPath.row].time)
cell.nameLabel.text = datesOfEvents[date]![indexPath.row].title
print(index)
print(cell.nameLabel.text)
if datesOfEvents[date]![indexPath.row].state == MessageState.SENT {
cell.nameLabel.textColor = UIColor.blackColor()
}
else {
let currentDate = NSDate()
if datesOfEvents[date]![indexPath.row].time > currentDate {
cell.nameLabel.textColor = UIColor.blueColor()
}
else
{
cell.nameLabel.textColor = UIColor.redColor()
}
}
break;
}
index++
}
//cell.backgroundColor = UIColor(colorLiteralRed: 39, green: 185, blue: 200, alpha: 0)
//cell.textLabel?.textColor = UIColor(colorLiteralRed: 255, green: 255, blue: 255, alpha: 1)
cell.textLabel?.numberOfLines = 0;
return cell
}
Попробуйте использовать 'dequeReusableCellWithIdentifier: forIndexPath', а не версии, которую вы используете. Для повторного использования ячеек вы должны использовать версию forIndexPath. Это может быть или не быть частью вашей проблемы. В текущих версиях ячейки, возвращаемые с использованием используемой версии, не имеют класса размера и клеток, использующего версию forIndexPath. Легкое изменение, чтобы попробовать сначала. –
Это очень необычный код. Почему существует цикл? – danh
Вместо цикла и если 'keysSet' является NSSet, просто используйте' keysSet.allObjects as Array 'и получите дату в index' indexPath.section'? Очень странно, что вы делаете что-то! –