У меня есть табличный вид с 3 разделами. В последнем разделе у меня две ячейки. Нет, когда я нажимаю на последнюю ячейку (Segue на ViewController) и возвращаюсь к таблице. Моя последняя ячейка точно совпадает с предыдущей ячейкой (раздел 2 строка 0). Когда я закрываю приложение и возвращаюсь к таблице, все в порядке. Я много искал, но ничего не нашел об этом.UITableView дублированный элемент в последней секции
Вот мой код:
else if indexPath.section == 2 {
let cell2:SecondTwoWayCellTableViewCell = self.tableView.dequeueReusableCellWithIdentifier("SecondTwoWayCell") as!SecondTwoWayCellTableViewCell
if indexPath.row == 0 && DoubleMatchIdentifierHome[4] != "" {
let currentPlayerHome1 = CoreDataManager.defaultListener().getPlayer(date, identifier: DoubleMatchIdentifierHome[4]) as! Player
let currentPlayerHome2 = CoreDataManager.defaultListener().getPlayer(date, identifier: DoubleMatchIdentifierHome[5]) as! Player
let currentPlayerAway1 = CoreDataManager.defaultListener().getPlayer(date, identifier: DoubleMatchIdentifierAway[4]) as! Player
let currentPlayerAway2 = CoreDataManager.defaultListener().getPlayer(date, identifier: DoubleMatchIdentifierAway[5]) as! Player
cell2.identifierPlayerHome1.text = DoubleMatchIdentifierHome[4]
cell2.playerHome1.text = currentPlayerHome1.name!
cell2.identifierPlayerHome2.text = DoubleMatchIdentifierHome[5]
cell2.playerHome2.text = currentPlayerHome2.name!
cell2.identifierPlayerAway1.text = DoubleMatchIdentifierAway[4]
cell2.playerAway1.text = currentPlayerAway1.name!
cell2.identifierPlayerAway2.text = DoubleMatchIdentifierAway[5]
cell2.playerAway2.text = currentPlayerAway2.name!
cell2.score.text = ("\(matches[18].scoreHome!):\(matches[18].scoreAway!)")
return cell2
}
else if indexPath.row == 1 && DoubleMatchIdentifierHome[6] != "" {
let currentPlayerHome1 = CoreDataManager.defaultListener().getPlayer(date, identifier: DoubleMatchIdentifierHome[6]) as! Player
let currentPlayerHome2 = CoreDataManager.defaultListener().getPlayer(date, identifier: DoubleMatchIdentifierHome[7]) as! Player
let currentPlayerAway1 = CoreDataManager.defaultListener().getPlayer(date, identifier: DoubleMatchIdentifierAway[6]) as! Player
let currentPlayerAway2 = CoreDataManager.defaultListener().getPlayer(date, identifier: DoubleMatchIdentifierAway[7]) as! Player
cell2.identifierPlayerHome1.text = DoubleMatchIdentifierHome[6]
cell2.playerHome1.text = currentPlayerHome1.name!
cell2.identifierPlayerHome2.text = DoubleMatchIdentifierHome[7]
cell2.playerHome2.text = currentPlayerHome2.name!
cell2.identifierPlayerAway1.text = DoubleMatchIdentifierAway[6]
cell2.playerAway1.text = currentPlayerAway1.name!
cell2.identifierPlayerAway2.text = DoubleMatchIdentifierAway[7]
cell2.playerAway2.text = currentPlayerAway2.name!
cell2.score.text = ("\(matches[19].scoreHome!):\(matches[19].scoreAway!)")
return cell2
}
return cell2
}
Если я ставлю CELL2 = SecondTwoWayCellTableViewCell() после DEQUEUE я получу пустую ячейку :( – user3143691
Сейчас он работает, но я не знаю, почему :) Я написал CELL2 = self.tableView.dequeueReusableCellWithIdentifier («SecondTwoWayCell»), как ! SecondTwoWayCellTableViewCell после var cell2 = ..... и, наконец, он работает. Кто-нибудь знает, почему? У меня такой же код для раздела 0, и он работает без добавления! – user3143691