AliSoftware / AliSoftware/Reusable

getting error on using cellType(for indexPath:)

Aberta
#101 0 comentários 0 reações 0 responsáveis Ver no GitHub
Linguagem predominante
Swift
Estrelas
3k
Forks
231
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

on trying below getting erros

`class ParentCell: UITableViewCell, Reusable {}
class Child1Cell: ParentCell {}
class Child2Cell: ParentCell {}

func cellType(for indexPath: NSIndexPath) -> ParentCell.Type {
return indexPath.row.isMultiple(of: 2) ? Child1Cell.self : Child2Cell.self
}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cellClass = self.cellType(for: indexPath)
// As `self.cellType(for:)` always returns a `ParentCell` (sub-)class, the type
// of the variable `cell` below is infered to be `ParentCell` too. So only methods
// declared in the parent `ParentCell` class will be accessible on the `cell` variable.
// But this code will still dequeue the proper type of cell (Child1Cell or Child2Cell).
let cell = tableView.dequeueReusableCell(for: indexPath, cellType: cellClass)
// Then fill the content of your cell (using methods/properties from `ParentCell` type)
return cell
}`

<2020-03-08 20:37:13.830457+0500 ReusableDemo iOS[18026:477363] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Attempted to dequeue multiple cells for the same index path, which is not allowed. If you really need to dequeue more cells than the table view is requesting, use the -dequeueReusableCellWithIdentifier: method (without an index path). Cell identifier: MyXIBTextCell, index path: {length = 2, path = 1 - 0}>

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.